USQCD SOFTWARE
The QDP++ framework
for lattice QCD.
Data-parallel computing in C++, from a single workstation to parallel systems.
Documentation
Quick reference (HTML) · PDF downloads: Reference manual · Quick reference
A data-parallel interface for lattice QCD
QDP++ provides a C++ programming environment for lattice QCD. Express operations on lattice-wide objects with familiar operators, while the framework handles the underlying architecture.
High-level code can run unchanged on a single-processor workstation or across multiprocessor nodes with parallel communications. The interface supplies a variety of site-element types and primitives for overlapping communication and computation.
GPU computing with QDP-JIT
QDP-JIT is a just-in-time compiled implementation of QDP++ for lattice QCD computations on GPUs, with support for NVIDIA and AMD hardware.
A package installer is available to help build and install QDP-JIT and its dependencies. You can also get the QDP-JIT source code on GitHub.
Dependencies
- libxml2 development library. Install the development package provided by your operating system.
- QMP for parallel execution. Install the QMP message-passing library when building for a parallel machine.
See the build instructions in the user guide for configuration details.
Citing QDP++
Please cite R. G. Edwards and B. Joó, “The Chroma Software System for Lattice QCD”, arXiv:hep-lat/0409003, in publications that use this code. The paper describes QDP++ and the Chroma software system.
About the project
QDP++ development grew out of the U.S. Department of Energy’s SciDAC program. Visit USQCD for more about the collaboration and its software.