Basic Tensor Algebra Subroutines (BTAS) is a C++ library for tensor algebra. BTAS is a reference implementation of Tensor Working Group concept spec. The library can be optionally used header-only at the cost of much lower performance for most operations.
TL;DR version
cmake -S /path/to/BTAS/srcdir -B /path/to/BTAS/builddir -DCMAKE_PREFIX_PATH="/path/to/boost;/path/to/blas/and/lapack"
cmake --build /path/to/BTAS/builddir --target check
-DBTAS_BUILD_DEPS_FROM_SOURCE=ON
: cmake --build /path/to/BTAS/builddir --target build-boost-in-BTAS
cmake --build /path/to/BTAS/builddir --target install
apt-get install libboost-all-dev
brew install boost
.BTAS_BUILD_DEPS_FROM_SOURCE
to ON
(either via command line or the ccmake
GUI) build-boost-in-BTAS
target manually before building install
target.CMAKE_CXX_COMPILER
-- specifies the C++ compiler (by default CMake will look for the C++ compiler in PATH
)CMAKE_INSTALL_PREFIX
-- specifies the installation prefix (by default CMake will install to /usr/local
)CMAKE_BUILD_TYPE
-- specifies the build type (by default CMake will build in Release
mode)CMAKE_PREFIX_PATH
-- semicolon-separated list of paths specifying the locations of dependenciesBTAS_USE_BLAS_LAPACK
-- specifies whether to enable the use of BLAS/LAPACK via the BLAS++/LAPACK++ APIs; the default is ON
BTAS_BUILD_DEPS_FROM_SOURCE
-- specifies whether to enable building the missing dependencies (Boost) from source; the default is OFF
BUILD_TESTING
-- specifies whether to build unit tests; the default is ON
TARGET_MAX_INDEX_RANK
-- specifies the rank for which the default BTAS index type will use stack; the default is 6