This repository contains benchmarks for taco and scripts to reproduce the results from the paper The Tensor Algebra Compiler.
Tell taco-bench where taco is located:
export TACO_INCLUDE_DIR=<taco-directory>/include
export TACO_LIBRARY_DIR=<taco-build-directory>/lib
Build taco-bench with CMake 2.8.3 or greater:
cd <taco-bench-directory>
mkdir build
cd build
cmake ..
make
Do the following steps before you build taco-bench with cmake to benchmark against several libraries.
- Download and extract Eigen's source code from https://eigen.tuxfamily.org/dox/GettingStarted.html.
- Specify the variable
EIGEN_DIR.
- Use the installation guide http://getfem.org/gmm/install.html.
- Specify the variable
GMM_INCLUDE_DIR.
- Follow the documentation to install ublas: http://www.boost.org/doc/libs/1_45_0/libs/numeric/ublas/doc/index.htm.
- Specify the variable
UBLAS_INCLUDE_DIR.
- Follow the user guide to install and tune OSKI: http://bebop.cs.berkeley.edu/oski/downloads.html.
- Specify
OSKI_INCLUDE_DIRandOSKI_LIBRARY_DIR.
- Follow the user guide to install and tune pOSKI: http://bebop.cs.berkeley.edu/poski/.
- Specify
POSKI_INCLUDE_DIRandPOSKI_LIBRARY_DIR.
Note: Install first OSKI and then use this installation to install POSKI.
- Commercial licensed product from Intel: https://software.intel.com/en-us/mkl.
- Specify
MKL_ROOT.
Note: use the mklvars.sh script of Intel to set properly your environment.
-
Modify CMakeList.txt: add an environment variable
YOUR, compilation options,YOUR_INCLUDE, andYOUR_LIBRARYdirectories to your project. -
Implement the expression using your project. Modify
your4taco.hfile. -
Use the
TACO_BENCHmacro to benchmark andvalidatemethod to compare against expected results.