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.
In order to build QDP++ you will need
- to have the libxml2 development library installed. If you don't have this, and don't have a package for your OS, you can build it from this copy of the source or you can try downloading it from The LibXML web page On a QCDOC a hacked version is needed, the source for which is here. On Linux and Cygwin Systems there is a package for libxml2. On RedHat systems it is called "libxml2-devel".
- if you want to work on a parallel machine, you will need to have the QMP Message Passing Harness installed. The current version of the source for QMP is QMP
- if you want to work on the BlueGene you may want some of the optimizations from bagel_qdp (link here). For this you will also need the BAGEL assembler generator package from Peter Boyle and agree to all his requests on his web page.
Documentation and User Information
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 reference is R. G. Edwards, B. Joó, "The Chroma Soft ware 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. This paper describes QDP++ as well as the Chroma code that uses it. Please cite (at least) this paper in publications that use the code.
The motivation for this development comes from the U.S. Dept. of Energy SciDAC program. See the USQCD home pages for more details.