benchmarks/linpack: Port to RTEMS

Close #2958.
This commit is contained in:
Sebastian Huber
2017-03-29 07:42:46 +02:00
parent 8783660741
commit 0a16d5f4a0
5 changed files with 110 additions and 181 deletions
+4 -2
View File
@@ -1,5 +1,6 @@
rtems_tests_PROGRAMS = linpack
linpack_SOURCES = init.c
linpack_SOURCES = init.c linpack-pc.c
linpack_LDADD = -lm
dist_rtems_tests_DATA = linpack.scn linpack.doc
@@ -8,8 +9,9 @@ include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
AM_CFLAGS += -fno-inline -fno-builtin
LINK_OBJS = $(linpack_OBJECTS)
LINK_OBJS = $(linpack_OBJECTS) $(linpack_LDADD)
LINK_LIBS = $(linpack_LDLIBS)
linpack$(EXEEXT): $(linpack_OBJECTS) $(linpack_DEPENDENCIES)
+10 -4
View File
@@ -20,15 +20,19 @@
const char rtems_test_name[] = "LINPACK";
static void test(void)
{
}
int main(int argc, char **argv);
static void Init(rtems_task_argument arg)
{
char *argv[] = {
"linpack",
"10",
NULL
};
TEST_BEGIN();
test();
main(2, argv);
TEST_END();
rtems_test_exit(0);
@@ -41,6 +45,8 @@ static void Init(rtems_task_argument arg)
#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
#define CONFIGURE_INIT_TASK_ATTRIBUTES RTEMS_FLOATING_POINT
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
#define CONFIGURE_INIT
File diff suppressed because it is too large Load Diff
+4 -2
View File
@@ -4,8 +4,10 @@ test set name: linpack
directives:
TBD
None, this benchmark program depends on the compiler, standard libraries, the
processor and the memory system. It is more or less independent of the
operating system, except some disturbance from the system clock service.
concepts:
TBD
This is the linpack benchmark ported to RTEMS.
+52
View File
@@ -0,0 +1,52 @@
*** BEGIN OF TEST LINPACK ***
Rolled Double Precision Linpack Benchmark - PC Version in 'C/C++'
Compiler INSERT COMPILER NAME HERE
Optimisation INSERT OPTIMISATION OPTIONS HERE
norm resid resid machep x[0]-1 x[n-1]-1
1.7 7.41628980e-14 2.22044605e-16 -1.49880108e-14 -1.89848137e-14
Times are reported for matrices of order 100
1 pass times for array with leading dimension of 201
dgefa dgesl total Mflops unit ratio
0.93482 0.02799 0.96281 0.71 2.8043 17.1930
Calculating matgen overhead
10 times 0.78 seconds
20 times 1.56 seconds
40 times 3.13 seconds
80 times 6.26 seconds
Overhead for 1 matgen 0.07824 seconds
Calculating matgen/dgefa passes for 5 seconds
10 times 10.13 seconds
Passes used 4
Times for array with leading dimension of 201
dgefa dgesl total Mflops unit ratio
0.93483 0.02794 0.96278 0.71 2.8042 17.1924
0.93483 0.02791 0.96274 0.71 2.8041 17.1918
0.93483 0.02791 0.96274 0.71 2.8041 17.1919
0.93483 0.02791 0.96274 0.71 2.8041 17.1918
0.93483 0.02791 0.96274 0.71 2.8041 17.1918
Average 0.71
Calculating matgen2 overhead
Overhead for 1 matgen 0.07824 seconds
Times for array with leading dimension of 200
dgefa dgesl total Mflops unit ratio
0.93487 0.02791 0.96278 0.71 2.8042 17.1924
0.93483 0.02791 0.96274 0.71 2.8041 17.1918
0.93484 0.02791 0.96275 0.71 2.8041 17.1919
0.93487 0.02791 0.96278 0.71 2.8042 17.1924
0.93484 0.02791 0.96275 0.71 2.8041 17.1919
Average 0.71
Rolled Double Precision 0.71 Mflops
*** END OF TEST LINPACK ***