This repository provides different algebra plugins with minimal functionality for the R&D projects detray and traccc.
| Backend | CPU | CUDA | SYCL |
|---|---|---|---|
| generic | ✅ | ✅ | ✅ |
| 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 (ONby default)ALGEBRA_PLUGINS_BUILD_BENCHMARKS: Turn the build/setup of the benchmarks on/off (OFFby default)