The Celeritas project implements HEP detector physics on GPU accelerator hardware with the ultimate goal of supporting the massive computational requirements of the HL-LHC upgrade.
This project requires external dependencies such as CUDA to build with full functionality. However, any combination of these requirements can be omitted to enable limited development on personal machines with fewer available components. See the infrastructure documentation for details on installing.
Spack is an HPC-oriented package manager that
includes numerous scientific packages, including those used in HEP. An included
Spack "environment" (at scripts/dev/env/celeritas-{platform}.yaml
) defines
the required prerequisites for this project.
- Clone Spack following its getting started instructions
- To install with CUDA, run
spack external find cuda
andspack install celeritas +cuda cuda_arch=<ARCH>
, where<ARCH>
is the numeric portion of the CUDA architecture flags
The Spack environment at dev/scripts.yaml lists the full dependencies used by the CI for building, testing, and documenting. Install those dependencies via Spack or independently, then configure Celeritas.
To configure Celeritas, assuming the dependencies you want are located in the
CMAKE_PREFIX_PATH
search path, and other environment variables such as CXX
are set, you should be able to just run CMake and build:
$ mkdir build
$ cd build && cmake ..
$ make
See the contribution guide for the contribution process, the development guidelines for further details on coding in Celeritas, and the administration guidelines for community standards and roles.
The full code documentation (including API descriptions) is available by
setting the CELERITAS_BUILD_DOCS=ON
configuration option. A mostly complete
version of the Celeritas documentation is hosted on readthedocs.io
.