  Quantum chromodynamics (QCD) is the theory of subnuclear physics, aiming at
mod- eling the strong nuclear force, which is responsible for the interactions
of nuclear particles. Lattice QCD (LQCD) is the corresponding discrete
formulation, widely used for simula- tions. The computational demand for the
LQCD is tremendous. It has played a role in the history of supercomputers, and
has also helped defining their future. Designing efficient LQCD codes that
scale well on large (probably hybrid) supercomputers requires to express many
levels of parallelism, and then to explore different algorithmic solutions.
While al- gorithmic exploration is the key for efficient parallel codes, the
process is hampered by the necessary coding effort. We present in this paper a
domain-specific language, QIRAL, for a high level expression of parallel
algorithms in LQCD. Parallelism is expressed through the mathematical struc-
ture of the sparse matrices defining the problem. We show that from these
expressions and from algorithmic and preconditioning formulations, a parallel
code can be automatically generated. This separates algorithms and mathematical
formulations for LQCD (that be- long to the field of physics) from the
effective orchestration of parallelism, mainly related to compilation and
optimization for parallel architectures.
