Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/JeffersonLab/chroma

The Chroma Software System for Lattice QCD
https://github.com/JeffersonLab/chroma

Last synced: 14 days ago
JSON representation

The Chroma Software System for Lattice QCD

Awesome Lists containing this project

README

        

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

%