Skip to content

elliottbiondo/celeritas

 
 

Repository files navigation

Celeritas

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.

Installation

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.

Installing with Spack

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.

Configuring and building Celeritas manually

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

Development

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.

Documentation

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.

About

Celeritas is a new Monte Carlo transport code designed for high-performance simulation of high-energy physics detectors.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 89.0%
  • CMake 4.2%
  • Cuda 4.0%
  • Python 1.5%
  • Jupyter Notebook 0.6%
  • Shell 0.2%
  • Other 0.5%