This repository provides different algebra plugins with minimal functionality for the R&D projects detray and traccc.
Backend | CPU | CUDA | SYCL |
---|---|---|---|
cmath | ✅ | ✅ | ✅ |
Eigen | ✅ | ✅ | ✅ |
SMatrix | ✅ | ⚪ | ⚪ |
VC | ✅ | ⚪ | ⚪ |
Fastor | ✅ | ⚪ | ⚪ |
To build it standalone, run e.g.
git clone https://github.com/acts-project/algebra-plugins.git
cmake -DCMAKE_BUILD_TYPE=Release -S algebra-plugins -B algebra-plugins-build
cmake --build algebra-plugins-build
Available options:
ALGEBRA_PLUGINS_INCLUDE_<XXX>
: Boolean to turn on/off the build of one of
the following plugins:
ALGEBRA_PLUGINS_USE_SYSTEM_LIBS
: Boolean configuring whether to search for all external libraries "on the system" or notALGEBRA_PLUGINS_SETUP_<XXX>
: Boolean to turn on/off the explicit "setup" of
the external libraries (GOOGLETEST
, BENCHMARK
, EIGEN3
, VC
, FASTOR
, and VECMEM
)ALGEBRA_PLUGINS_USE_SYSTEM_<XXX>
: Boolean configuring how to set up a given
external library
ON
: The external library is searched for "on the system" using
find_package;OFF
: The package is set up for build as part of this project, using
FetchContent.ALGEBRA_PLUGINS_BUILD_TESTING
: Turn the build/setup of the unit tests on/off
(ON
by default)