github.com/jeffersonlab/chroma

The Chroma Software System for Lattice QCD

Open this visualization on its own page →

Contributors

41

Lines of Code

33,311

From

2002-12-16

To

2020-12-16

About jeffersonlab/chroma

Chroma is a software system for Lattice QCD (Quantum Chromodynamics) simulations, written in C++. It provides a comprehensive framework for computational physics research focused on studying the strong nuclear force through lattice gauge theory calculations.

The system is built as a library that depends on two other components: QDP++ (a data-parallel programming abstraction for lattice QCD) and QMP (a message-passing interface for parallel computing). Chroma version 3.43 and later require QDP++ 1.44.0 or higher and QMP 2.X or higher, and the codebase uses modern C++ standards (C++11). The software supports both scalar (single-node) and parallel MPI-based implementations through different QDP++ configurations.

Users can build custom applications by creating main programs that link against the Chroma library. The system includes example test programs like t_mesplq, which demonstrates basic functionality by computing the average plaquette on randomly generated gauge fields. The build process uses autoconf-style configuration and separate build directories to keep source and compiled artifacts organized, making it suitable for researchers developing new lattice QCD algorithms or running production simulations on high-performance computing clusters.

Share this video