Name Date Size #Lines LOC

..--

READMEH A D25-Apr-20251.5 KiB2114

benchmark.hH A D25-Apr-20251.5 KiB5033

benchmark_main.ccH A D25-Apr-20256.7 KiB238209

contraction_benchmarks_cpu.ccH A D25-Apr-20251.4 KiB4025

eigen_sycl_bench.shH A D25-Apr-2025729 3129

eigen_sycl_bench_contract.shH A D25-Apr-2025647 86

tensor_benchmarks.hH A D25-Apr-202520 KiB598500

tensor_benchmarks_cpu.ccH A D25-Apr-20256.1 KiB169129

tensor_benchmarks_fp16_gpu.cuH A D25-Apr-20253.3 KiB7854

tensor_benchmarks_gpu.cuH A D25-Apr-20253.3 KiB7661

tensor_benchmarks_sycl.ccH A D25-Apr-20256.1 KiB141123

tensor_contract_sycl_bench.ccH A D25-Apr-202511.1 KiB326255

README

1The tensor benchmark suite is made of several parts.
2
3The first part is a generic suite, in which each benchmark comes in 2 flavors: one that runs on CPU, and one that runs on GPU.
4
5To compile the floating point CPU benchmarks, simply call:
6g++ tensor_benchmarks_cpu.cc benchmark_main.cc -I ../../ -std=c++11 -O3 -DNDEBUG -pthread -mavx -o benchmarks_cpu
7
8To compile the floating point GPU benchmarks, simply call:
9nvcc tensor_benchmarks_gpu.cu benchmark_main.cc -I ../../ -std=c++11 -O2 -DNDEBUG -use_fast_math -ftz=true -arch compute_35 -o benchmarks_gpu
10
11We also provide a version of the generic GPU tensor benchmarks that uses half floats (aka fp16) instead of regular floats. To compile these benchmarks, simply call the command line below. You'll need a recent GPU that supports compute capability 5.3 or higher to run them and nvcc 7.5 or higher to compile the code.
12nvcc tensor_benchmarks_fp16_gpu.cu benchmark_main.cc -I ../../ -std=c++11 -O2 -DNDEBUG -use_fast_math -ftz=true -arch compute_53 -o benchmarks_fp16_gpu
13
14To compile and run the benchmark for SYCL, using ComputeCpp, simply run the
15following commands:
161. export COMPUTECPP_PACKAGE_ROOT_DIR={PATH TO COMPUTECPP ROOT DIRECTORY}
172. bash eigen_sycl_bench.sh
18
19Last but not least, we also provide a suite of benchmarks to measure the scalability of the contraction code on CPU. To compile these benchmarks, call
20g++ contraction_benchmarks_cpu.cc benchmark_main.cc -I ../../ -std=c++11 -O3 -DNDEBUG -pthread -mavx -o benchmarks_cpu
21