README.txt
1
2 This folder contains a couple of benchmark utities and Eigen benchmarks.
3
4 ****************************
5 * bench_multi_compilers.sh *
6 ****************************
7
8 This script allows to run a benchmark on a set of different compilers/compiler options.
9 It takes two arguments:
10 - a file defining the list of the compilers with their options
11 - the .cpp file of the benchmark
12
13 Examples:
14
15 $ ./bench_multi_compilers.sh basicbench.cxxlist basicbenchmark.cpp
16
17 g++-4.1 -O3 -DNDEBUG -finline-limit=10000
18 3d-3x3 / 4d-4x4 / Xd-4x4 / Xd-20x20 /
19 0.271102 0.131416 0.422322 0.198633
20 0.201658 0.102436 0.397566 0.207282
21
22 g++-4.2 -O3 -DNDEBUG -finline-limit=10000
23 3d-3x3 / 4d-4x4 / Xd-4x4 / Xd-20x20 /
24 0.107805 0.0890579 0.30265 0.161843
25 0.127157 0.0712581 0.278341 0.191029
26
27 g++-4.3 -O3 -DNDEBUG -finline-limit=10000
28 3d-3x3 / 4d-4x4 / Xd-4x4 / Xd-20x20 /
29 0.134318 0.105291 0.3704 0.180966
30 0.137703 0.0732472 0.31225 0.202204
31
32 icpc -fast -DNDEBUG -fno-exceptions -no-inline-max-size
33 3d-3x3 / 4d-4x4 / Xd-4x4 / Xd-20x20 /
34 0.226145 0.0941319 0.371873 0.159433
35 0.109302 0.0837538 0.328102 0.173891
36
37
38 $ ./bench_multi_compilers.sh ompbench.cxxlist ompbenchmark.cpp
39
40 g++-4.2 -O3 -DNDEBUG -finline-limit=10000 -fopenmp
41 double, fixed-size 4x4: 0.00165105s 0.0778739s
42 double, 32x32: 0.0654769s 0.075289s => x0.869674 (2)
43 double, 128x128: 0.054148s 0.0419669s => x1.29025 (2)
44 double, 512x512: 0.913799s 0.428533s => x2.13239 (2)
45 double, 1024x1024: 14.5972s 9.3542s => x1.5605 (2)
46
47 icpc -fast -DNDEBUG -fno-exceptions -no-inline-max-size -openmp
48 double, fixed-size 4x4: 0.000589848s 0.019949s
49 double, 32x32: 0.0682781s 0.0449722s => x1.51823 (2)
50 double, 128x128: 0.0547509s 0.0435519s => x1.25714 (2)
51 double, 512x512: 0.829436s 0.424438s => x1.9542 (2)
52 double, 1024x1024: 14.5243s 10.7735s => x1.34815 (2)
53
54
55
56