Quick Links

USQCD Software Home

Acknowledging Chroma in publications

Chroma usage

Chroma Tutorials through the ages

StrongNet 2012 Summer School (HackLatt'12) (partial wiki page; most lecture links are missing)

2011 Lattice Practices Chroma Tutorial: hadron spectrum (surviving tutorial material)

Lattice Practices 2008 tutorials by A. Juettner and C. Urbach

HackLatt'08 Chroma Tutorial (currently unavailable)

2007 INT Summer School: Lattice QCD and its applications (archived lectures)

HackLatt'06 Chroma Tutorial (currently unavailable)

HackLatt'05 Chroma Tutorial (currently unavailable)

Developer Resources

Doxygen Documentation

Gitweb: Chroma Master branch

Gitweb: Chroma devel branch

Application Code Web Pages

Chroma

Individual Packages from USQCD

QMP

QIO

QDP/C++

C-LIME

Third party package Web Pages

QUDA (GPU)


The Chroma Library for Lattice Field Theory


The Chroma package supports data-parallel programming constructs for lattice field theory and in particular lattice QCD. It uses the SciDAC QDP++ data-parallel programming (in C++) that presents a single high-level code image to the user, but can generate highly optimized code for many architectural systems including single node workstations, multi and many-core nodes, clusters of nodes via QMP, and classic vector computers.


Code releases:

Source Code

Chroma source code is available via github. You can also see the the Git FAQ for instructions on downloading the code. Currently the following branches are availble:

  • The master is the canonical stable branch
  • The devel branch is the branch with the proposed changes for the next version

Chroma releases are available as release tags on GitHub.

Building Chroma

The following tools help build and install Chroma and its dependencies:

  • Chromaform automates downloading, building, and installing Chroma and QDP, with options for CPU builds and GPU builds using CUDA or HIP. See the repository for build options and examples.
  • The package repository provides scripts for building Chroma with QDP-JIT, the GPU implementation of QDP++, and their dependencies. Choose the build configuration for your target system from the repository.

For QDP documentation and source code, visit the QDP++ project page, the QDP++ source repository, and the QDP-JIT source repository. Chroma also supports building with CMake.

Support codes

There is source code available via github that support file manipulations of chroma output files.

Dependencies

In order to build Chroma you'll need to have installed

Relevant source code links:

  • QDP++ - SciDAC C++ data-parallel programming interface
  • QMP - SciDAC message passing programming interface
  • USQCD Software - home page for software distributions

User Information

Links to tutorials are on the side-bar. There is also a collection of notes in the source distribution.

Acknowledging Chroma

If you use Chroma in your research, please cite:

R. G. Edwards (LHPC Collaboration), B. Joó (UKQCD Collaboration), "The Chroma Software System for Lattice QCD", arXiv:hep-lat/0409003, Proceedings of the 22nd International Symposium for Lattice Field Theory (Lattice2004), Nucl. Phys B1 40 (Proc. Suppl) p832, 2005. doi:10.1016/j.nuclphysbps.2004.11.254.

Chroma usage

Fun graphic showing locations of some of the Chroma users that we could find. Hover over the points to see the locations. Please let us know of more such sites.