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 | ✅ | ⚪ | ⚪ |
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_CUSTOM_SCALARTYPE
: Scalar value type (float
ordouble
,double
by default)ALGEBRA_PLUGINS_INCLUDE_<XXX>
: Boolean to turn on/off the build of one of the following plugins:ALGEBRA_PLUGINS_SETUP_<XXX>
: Boolean to turn on/off the explicit "setup" of the externals (GOOGLETEST
,EIGEN3
,VC
andVECMEM
)ALGEBRA_PLUGINS_USE_SYSTEM_<XXX>
: Boolean configuring how to set up a given externalON
: The external 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)