eigen/bench
Aaron Franke 5c22c7a7de Make file formatting comply with POSIX and Unix standards
UTF-8, LF, no BOM, and newlines at the end of files
2020-03-23 18:09:02 +00:00
..
btl Replace calls to "hg" by calls to "git" 2019-12-04 11:24:06 +01:00
perf_monitoring Make file formatting comply with POSIX and Unix standards 2020-03-23 18:09:02 +00:00
spbench Make file formatting comply with POSIX and Unix standards 2020-03-23 18:09:02 +00:00
tensors [SYCL] Rebasing the SYCL support branch on top of the Einge upstream master branch. 2019-11-28 10:08:54 +00:00
analyze-blocking-sizes.cpp MIsc. source and comment typos 2018-03-11 10:01:44 -04:00
basicbench.cxxlist bench: use of Eigen/Array is deprecated + fix includes for iostream 2010-07-09 03:59:36 +02:00
basicbenchmark.cpp bench: use of Eigen/Array is deprecated + fix includes for iostream 2010-07-09 03:59:36 +02:00
basicbenchmark.h typos in bench/ 2008-08-29 16:10:08 +00:00
bench_gemm.cpp Add possibility to bench row-major lhs and rhs 2019-02-15 16:52:34 +01:00
bench_multi_compilers.sh Removed Column and Row in favor of Block 2008-03-12 18:10:52 +00:00
bench_norm.cpp [PATCH 1/2] Misc. typos 2018-09-18 04:15:01 -04:00
bench_reverse.cpp bug #86 : use internal:: namespace instead of ei_ prefix 2010-10-25 10:15:22 -04:00
bench_sum.cpp bench: use of Eigen/Array is deprecated + fix includes for iostream 2010-07-09 03:59:36 +02:00
bench_unrolling provide default values for CXX, remove duplicate define 2010-02-22 15:39:17 +01:00
benchBlasGemm.cpp bug #86 : use internal:: namespace instead of ei_ prefix 2010-10-25 10:15:22 -04:00
benchCholesky.cpp Update and fix Cholesky mini benchmark 2016-07-28 11:26:30 +02:00
benchEigenSolver.cpp bug #86 : use internal:: namespace instead of ei_ prefix 2010-10-25 10:15:22 -04:00
benchFFT.cpp remove outdated "Eigen itself is part of the KDE project" outside of eigen2 files 2012-07-15 10:33:40 -04:00
benchGeometry.cpp replaced compiler specific __attribute__((noinline)) by EIGEN_DONT_INLINE 2012-12-17 16:55:14 +01:00
benchmark_suite provide default values for CXX, remove duplicate define 2010-02-22 15:39:17 +01:00
benchmark-blocking-sizes.cpp Add support for dumping blocking sizes tables 2015-03-13 10:36:01 -07:00
benchmark.cpp bench: use of Eigen/Array is deprecated + fix includes for iostream 2010-07-09 03:59:36 +02:00
benchmarkSlice.cpp bug #86 : use internal:: namespace instead of ei_ prefix 2010-10-25 10:15:22 -04:00
benchmarkX.cpp bench: use of Eigen/Array is deprecated + fix includes for iostream 2010-07-09 03:59:36 +02:00
benchmarkXcwise.cpp bench: use of Eigen/Array is deprecated + fix includes for iostream 2010-07-09 03:59:36 +02:00
BenchSparseUtil.h add support for ublas 2011-03-23 11:39:35 +01:00
BenchTimer.h Bypass inline asm for non compatible compilers. 2019-01-23 23:43:13 +01:00
BenchUtil.h add support for ublas 2011-03-23 11:39:35 +01:00
benchVecAdd.cpp bug #86 : use internal:: namespace instead of ei_ prefix 2010-10-25 10:15:22 -04:00
check_cache_queries.cpp bug #86 : use internal:: namespace instead of ei_ prefix 2010-10-25 10:15:22 -04:00
dense_solvers.cpp Update benchmark for dense solver to stress least-squares pb, and to output a HTML table 2016-07-21 12:30:53 +02:00
eig33.cpp MIsc. source and comment typos 2018-03-11 10:01:44 -04:00
geometry.cpp fix unitialized quaternion 2010-09-08 12:57:33 +02:00
product_threshold.cpp Fixed line endings. 2010-03-05 18:11:54 +01:00
quat_slerp.cpp bug #86 : use internal:: namespace instead of ei_ prefix 2010-10-25 10:15:22 -04:00
quatmul.cpp bug #86 : use internal:: namespace instead of ei_ prefix 2010-10-25 10:15:22 -04:00
README.txt * basic support for multicore CPU via a .evalOMP() which 2008-03-09 16:13:47 +00:00
sparse_cholesky.cpp bug #86 : use internal:: namespace instead of ei_ prefix 2010-10-25 10:15:22 -04:00
sparse_dense_product.cpp add support for ublas 2011-03-23 11:39:35 +01:00
sparse_lu.cpp big huge changes, so i dont remember everything. 2009-10-28 18:19:29 -04:00
sparse_product.cpp add support for ublas 2011-03-23 11:39:35 +01:00
sparse_randomsetter.cpp bug #86 : use internal:: namespace instead of ei_ prefix 2010-10-25 10:15:22 -04:00
sparse_setter.cpp bug #86 : use internal:: namespace instead of ei_ prefix 2010-10-25 10:15:22 -04:00
sparse_transpose.cpp add/update some benchmark files used to test/compare sparse module features 2008-10-19 17:06:11 +00:00
sparse_trisolver.cpp bug #86 : use internal:: namespace instead of ei_ prefix 2010-10-25 10:15:22 -04:00
spmv.cpp Fix bug #595: typo 2013-06-10 13:10:36 +02:00
vdw_new.cpp bench: use of Eigen/Array is deprecated + fix includes for iostream 2010-07-09 03:59:36 +02:00

This folder contains a couple of benchmark utities and Eigen benchmarks.

****************************
* bench_multi_compilers.sh *
****************************

This script allows to run a benchmark on a set of different compilers/compiler options.
It takes two arguments:
 - a file defining the list of the compilers with their options
 - the .cpp file of the benchmark

Examples:

$ ./bench_multi_compilers.sh basicbench.cxxlist basicbenchmark.cpp

    g++-4.1 -O3 -DNDEBUG -finline-limit=10000
    3d-3x3   /   4d-4x4   /   Xd-4x4   /   Xd-20x20   /
    0.271102   0.131416   0.422322   0.198633
    0.201658   0.102436   0.397566   0.207282

    g++-4.2 -O3 -DNDEBUG -finline-limit=10000
    3d-3x3   /   4d-4x4   /   Xd-4x4   /   Xd-20x20   /
    0.107805   0.0890579   0.30265   0.161843
    0.127157   0.0712581   0.278341   0.191029

    g++-4.3 -O3 -DNDEBUG -finline-limit=10000
    3d-3x3   /   4d-4x4   /   Xd-4x4   /   Xd-20x20   /
    0.134318   0.105291   0.3704   0.180966
    0.137703   0.0732472   0.31225   0.202204

    icpc -fast -DNDEBUG -fno-exceptions -no-inline-max-size
    3d-3x3   /   4d-4x4   /   Xd-4x4   /   Xd-20x20   /
    0.226145   0.0941319   0.371873   0.159433
    0.109302   0.0837538   0.328102   0.173891


$ ./bench_multi_compilers.sh ompbench.cxxlist ompbenchmark.cpp

    g++-4.2 -O3 -DNDEBUG -finline-limit=10000 -fopenmp
    double, fixed-size 4x4: 0.00165105s  0.0778739s
    double, 32x32: 0.0654769s 0.075289s  => x0.869674 (2)
    double, 128x128: 0.054148s 0.0419669s  => x1.29025 (2)
    double, 512x512: 0.913799s 0.428533s  => x2.13239 (2)
    double, 1024x1024: 14.5972s 9.3542s  => x1.5605 (2)

    icpc -fast -DNDEBUG -fno-exceptions -no-inline-max-size -openmp
    double, fixed-size 4x4: 0.000589848s  0.019949s
    double, 32x32: 0.0682781s 0.0449722s  => x1.51823 (2)
    double, 128x128: 0.0547509s 0.0435519s  => x1.25714 (2)
    double, 512x512: 0.829436s 0.424438s  => x1.9542 (2)
    double, 1024x1024: 14.5243s 10.7735s  => x1.34815 (2)