Skip to content

JeffersonLab/chroma

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" .


%