DD-HMC
Simulation program for two-flavour lattice QCD
Lattice QCD simulations are performed on high-performance parallel
computers with hundreds or more processing units. As larger and
larger lattices are considered, the use of efficient simulation
algorithms becomes increasingly important.
The DD-HMC algorithm combines domain decomposition ideas with the
Hybrid-Monte-Carlo algorithm and the Sexton-Weingarten multiple-time
integration scheme. It applies to the Wilson formulation of lattice
QCD (and its relatives) and is designed to be particularly efficient
at lattice spacings less than 0.1 fm and at small quark masses.
Being based on domain-decomposition methods, the algorithm is also
well suited for parallel processing.
Program scope
The source code that can be downloaded from this page implements the
DD-HMC algorithm for lattice QCD with the Wilson plaquette action
and a doublet of mass-degenerate O(a)-improved Wilson quarks. The
code can be used without any modifications, but may also serve as
starting point for the development of simulation programs for other
forms of lattice QCD (2+1 flavour QCD, in particular, and
formulations with 6-link gauge actions).
A simulation program for quenched QCD is also included, as well as a
set of modules for the solution of the Dirac equation, using a
deflated Schwarz-preconditioned GCR solver. These parts of the
source tree can be used separately if so desired.
All programs parallelize in 0,1,2,3 or 4 dimensions, depending on
what is specified at compilation time. They are highly optimized for
machines with current Intel or AMD processors, but will run
correctly on any system that complies with the ISO C89 (formerly
ANSI C) and the MPI 1.2 standards. So far the code has been
extensively used on PC clusters with Myrinet or Infiniband networks,
on a CRAY XT3, on the IBM "MareNostrum" cluster and on IBM Blue Gene
computers (machine-specific accelerations for the Blue Gene/L have
been added to the program by Björn Leder and Rainer Sommer).
For the purpose of testing and code development, the programs can
also be run on a desktop or laptop computer. All that is needed for
this is a compliant C compiler and a local MPI installation such as
Open MPI
.
Literature
The DD-HMC algorithm is described in
Schwarz-preconditioned HMC algorithm for two-flavour lattice QCD,
Comput. Phys. Commun. 165 (2005) 199
(Science Direct
,
arXiv.org
)
(the name DD-HMC was introduced later). In this paper details are
given for the case of the standard Wilson theory, but the
modifications required for the improved theory are obvious.
Normally the DD-HMC algorithm spends large fraction of the time in
the subprogram that solves the lattice Dirac equation for a
specified source field. The solver used for this task combines the
classical Schwarz alternating procedure with a standard Krylov space
solver (the GCR algorithm). Full details can be found in
Solution of the
Dirac equation in lattice QCD using a domain decomposition method
,
Comput. Phys. Commun. 156 (2004) 209
(
Science Direct
,
arXiv.org
)
Deflation acceleration is now also included in the program. For a
description of this technique see
Local coherence and deflation of the low quark modes in lattice QCD,
J. High Energy Phys. 07 (2007) 081
(
JHEP,
arXiv.org
)
Deflation acceleration of lattice QCD simulations,
J. High Energy Phys. 12 (2007) 011
(
JHEP
,
arXiv.org
)
To be able to understand the parameters of the DD-HMC algorithm, and
thus to run the simulation program correctly, some familiarity with
these papers is probably required.
Program documentation
The simulation program has a modular form, with strict prototyping
and a minimal use of external variables. Each program file contains
a small number of externally accessible functions whose
functionality is described at the top of the file.
The data layout is explained in various README files and detailed
instructions are given on how to run the main simulation program.
Further documentation files describe the built-in self-monitoring
system, the implementation of the lattice Dirac operator and other
important program elements such as the random number generator.
The correct functioning of the individual modules can always be
verified by running the check programs that are included in the
distribution. These programs are often fairly short and may serve to
illustrate the proper use of the programs in the module directories.
Download
The publicly available DD-HMC releases are
DD-HMC-1.2.2.tar.gz
(latest stable release)
DD-HMC-1.2.1.tar.gz
DD-HMC-1.0.1.tar.gz
See the
CHANGELOG
file for summary of the modifications that were made from one version
to the next. The packages contain the source code, usage instructions
and other documentation files. After unpacking, first read the README
file in the top directory.
License
The software may be used under the terms of the
GNU General Public Licence (GPL).
Last updated 19 February 2015