JeffersonLab / chroma

The Chroma Software System for Lattice QCD
http://jeffersonlab.github.io/chroma
Other
58 stars 50 forks source link

Release compatibility

Chroma/QDP/QMP have release tags enumerated as

major.minor.maintenance 

with cvs tags labelled as

major-minor-maintenance 

Chroma version 3.43 or higher requires QDP++ 1.44.0 or higher and QMP 2.X or higher . The latter follows the version 2.X specification of the API. QDP++ and Chroma no longer support the 1.X QMP API.

As of these recent versions, both Chroma and QDP++ now require at least g++-4.X or above, and use the C++-11 standard called C++0x.

In JLab CVS module name and tag-ology, the current compatibility is

module tag description chroma chroma3-43-X or higher qdp++ qdp1-44-0 or higher qmp qmp2-3-X or higher MPI and single node versions

Quick installations instructions for CHROMA

It is assumed that QDP++ is compiled and installed somewhere. You can read the INSTALL file in this directory for more details on the building of chroma.

To build CHROMA, it is recommended you make a subdirectory for the build and keep the build tree separate from the source tree. E.g., say the "scalar" version of QDP++ is installed in /usr/local/share/qdp++/scalar

Then to build, you would execute:

% cd chroma % mkdir ./scalar-build % cd ./scalar-build % ../configure --with-qdp=/usr/local/qdp++/scalar % make

which should build the CHROMA library using a scalar version of QDP++.

To build a main program

% cd chroma/scalar-build/mainprogs/tests % make t_mesplq

which will build the executable "t_mesplq" using "t_mesplq.cc" as the main program file and linking against the library in chroma/scalar/lib .

You can execute the program simply by

% ./t_mesplq

which will compute the average plaquette on a random gauge field and write the result into "t_mesplq.xml" .

%