eigen/bench
Hans Johnson 6fb3e5f176 STYLE: Remove CMake-language block-end command arguments
Ancient versions of CMake required else(), endif(), and similar block
termination commands to have arguments matching the command starting the block.
This is no longer the preferred style.
2019-10-31 11:36:27 -05:00
..
btl STYLE: Remove CMake-language block-end command arguments 2019-10-31 11:36:27 -05:00
perf_monitoring update wrt recent changes 2019-02-21 17:19:36 +01:00
spbench STYLE: Remove CMake-language block-end command arguments 2019-10-31 11:36:27 -05:00
tensors Adding synchronisation to convolution kernel for sycl backend. 2017-03-13 09:18:37 +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)