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
, andVECMEM
)ALGEBRA_PLUGINS_USE_SYSTEM_<XXX>
: Boolean configuring how to set up a given external libraryON
: 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)