Simulation programs for lattice QCD

Lattice QCD simulations are performed on high-performance parallel computers with hundreds and thousands of processing units. The openQCD package includes some of the most advanced simulation techniques, but keeps a high degree of flexibility so that the users can select the ones to use.

Lattice theory

Currently the common features of the supported lattice theories are the following:
The O(a)-improvement includes the boundary counterterms required for the improvement of the correlation functions near the boundaries of the lattice if open, SF or open-SF boundary conditions are chosen. Either the traditional implementation of the O(a) Pauli term in the quark action or an "exponential" variant (which offers some technical advantages) may be used. For the quark fields phase-periodic boundary conditions in the space directions are implemented too.

Simulation algorithm

The simulation programs are based on the HMC or the SMD (Stochastic Molecular Dynamics) algorithm. For the strange and the heavier quarks, a rational approximation of the exact pseudo-fermion action is used as in the RHMC algorithm. Several advanced techniques are implemented that can be configured at run time:
All these depend on a number of parameters, whose values are passed to the simulation program together with those of the action parameters (coupling constants, quark masses, etc.) through a structured input parameter file.

Master-field simulations

Since version 2.0, openQCD includes various technical improvements (quadruple-precision accumulation of large sums, uniform-norm solver stopping criterion, etc.), which are expected to make master-field simulations of very large lattices numerically safe.

Program features

The 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 should run correctly on any system complying with the IEEE 754, ISO C89, MPI 1.2 and (since openQCD 2.4) OpenMP 4.5 standards.

For the purpose of testing and code development, the programs can also be run on a desktop or laptop computer. All what is needed for this is a compliant C compiler and a local MPI installation such as Open MPI.


The simulation programs have 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 programs. Further documentation, specifying the normalization conventions and algorithms used, is included in the doc directory.


The initial release of the openQCD package was written by Martin Lüscher and Stefan Schaefer. Support for Schrödinger functional boundary conditions was added by John Bulava. Phase-periodic boundary conditions for the quark fields were introduced by Isabel Campos and the implementation of the "exponential" variant of the O(a) Pauli term was developed by Antonio Rago. Several modules were taken over from the DD-HMC program tree, which includes contributions from Luigi Del Debbio, Leonardo Giusti, Björn Leder and Filippo Palombi.


In the course of the development of the openQCD code, many people suggested corrections and improvements or tested preliminary versions of the programs. The authors are particularly grateful to Isabel Campos, Dalibor Djukanovic, Georg Engel, Leonardo Giusti, Björn Leder, Daniel Mohler, Carlos Pena and Hubert Simma for their communications and help.


The publicly available openQCD releases are

    openQCD-2.4.2.tar.gz (latest stable release)

See the CHANGELOG file for a summary of the changes made from one version to the next and there is an up-to-date list of known bugs. The packages contain the source code, usage instructions and other documentation files. After unpacking, first read the README file in the top directory.


The software may be used under the terms of the GNU General Public Licence (GPL).

Alternative packages and complementary programs

There is a publicly available BG/Q version of openQCD that takes advantage of the machine-specific features of IBM BlueGene/Q computers.

As explained here, the most time-consuming parts of the programs can be further accelerated using AVX-512 intrinsics on machines supporting these instructions. A publicly available code implementing this in openQCD-1.6 may work with later versions of openQCD too.

The openQCD programs currently do not support reweighting in the quark masses, but a module providing this functionality can be downloaded from here.

Another extension of openQCD-1.6, openQCD-FASTSUM, supports simulations of anisotropic lattices and fermion actions in which the gauge-field variables are replaced by stout-smeared ones.

The inclusion of electro-magnetic effects in QCD simulations is conceptually non-trivial and requires important additions to (and modifications of) the code provided by openQCD. A complete QCD+QED program package derived from openQCD is available here and described in detail in this paper.

Full-fledged QCD simulation programs tend to have many adjustable parameters. In the case of openQCD, most parameters are passed to the programs through a human-readable structured file. Liam Keegan's sleek graphical editor for these parameter files offers some guidance and complains when inconsistent parameter values are entered.

Last updated 04 January 2024