QHMC (FUEL)
James C. Osborn
QHMC is an application for Lattice Field Theory using the Lua scripting language on top of USQCD SciDAC libraries. It is also commonly referred to by the name FUEL (Framework for Unified Evolution of Lattices). Though originally targeted for configuration generation, it now has fairly extensive analysis capabilities.
Quick Build Instructions
QHMC uses autoconf and follows similar conventions to the rest of the USQCD SciDAC libraries. You will first need to install its dependencies: QMP, QIO, QLA, QDP, and QOPQDP. The recommended versions of these libraries are
- qmp-2.5.0
- qio-2.4.1
- qla-1.9.0
- qdp-1.11.0
- qopqdp-0.20.0
Source tarballs for these libraries and QHMC are available here. The qinstall script provides a convienent way to install these libraries and QHMC.
An example configure command for QHMC is:
/home/osborn/lqcd/src/qhmc-0.1.4/configure \
--prefix=/home/osborn/lqcd/install/qhmc-0.1.4 \
--with-qmp=/home/osborn/lqcd/install/qmp \
--with-qio=/home/osborn/lqcd/install/qio \
--with-qla=/home/osborn/lqcd/install/qla \
--with-qdp=/home/osborn/lqcd/install/qdp \
--with-qopqdp=/home/osborn/lqcd/install/qopqdp \
--enable-nc=all \
--enable-colors=n \
CFLAGS="-Wall -std=gnu99 -O3 -g -DQDP_PROFILE"
CC will default to the same as used by QMP and can be overriden.
The "--enable-nc=" flag should match what was used to compile QOPQDP. The default is "all".
The "--enable-colors=" flag is used to force all fields to have the specified color at compile time. This may be faster in some cases, but can prevent using any code that uses multiple Nc. The allowed values are 1,2,3, and n where "n" specifies that the fields can have any Nc and can be specified at runtime. This is the default.
Directory structure
bin
where the final qhmc executable is built
examples
some random, possibly old, examples
include
headers for Lua bindings in lib directory
lib
Lua bindings for libraries (and the Lua source itself)
lua
Lua scripts for running configuration generation and analysis
test
regression tests