QDP++Source on GitHub ↗

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.