The QDP++ interface provides a data-parallel programming environment suitable for Lattice QCD where operations in operator/infix form can be applied on lattice wide objects. The interface provides a level of abstraction such that high-level user code written above the interface can be run unchanged on a single processor workstation or a collection of multiprocessor nodes with parallel communications. Architectural dependencies are hidden below the interface. A variety of types for the site elements are provided. To achieve good performance, overlapping communication and computation primitives are provided.
The latest version of QDP++ is qdp++-1.36.1.
The source for the current version of qdp++ is qdp++-1.36.1.tar.gz - here
Tarball versions of previous releases can be found in the release directory here
QDP++ source code is available via the JLab Git Server. You can also see the the Git FAQ. Currently the following branches are availble:
As it turned out the packaging of RPMs is not really as straightforward to automate as we'd like. Also there are issues with availability of shared libraries on some systems. Therefore we have currently suspended the rolling of RPM distributions.
In order to build QDP++ you will need
Here is the current pdf version of the manual, and there is also an html version. There is documentation produced by doxygen. A user guide is also available.
The tutorial is a very simple application using QDP++.
The demonstration shows a more sophisticated application using QDP++.
The motivation for this development comes from the U.S. Dept. of Energy SciDAC program. See the USQCD home pages for more details.
The USQCD Software home page lists other relevant packages including QMP.