Skip to content

12.10 LQCD

12.10.1 Introduction to LQCD

Quantum Chromodynamics (QCD) is the fundamental theory that describes the strong interaction and hadron structure. Because QCD involves strong coupling, solving it rigorously is a highly challenging theoretical problem. Lattice QCD (LQCD) is a numerical gauge-field-theory method that studies the properties of quarks and gluons from the first principles of QCD.

12.10.2 Common Used Softwares

Currently common used LQCD softwares in IHEP:

  • Chroma: developed by USQCD Collaberations
  • QUDA:supported by NVIDIA, using GPU to perform lqcd calculations combined with sChroma。
  • GWU-Code:developed by χQCD Collaberations.

12.10.3 LQCD Software Usage

12.10.3.1 Basics and Software Compilation

https://github.com/IHEP-LQCD/Tutorial provides a detailed guide to the computing basics of lattice QCD and to compiling the software.

12.10.3.2 Software Versions and Storage Location

Chroma-related software, the LLVM compiler, and MPI libraries are managed with module. Add the modulefile path to .bashrc with:

echo "module use /hpcfs/lqcd/qcd/modulefiles" >> ~/.bashrc
source ~/.bashrc

You can then list the compiled and installed software with:

module av

Example output:

---------------------------------------------------------- /hpcfs/lqcd/qcd/modulefiles -----------------------------------------------------------
lqcd/chroma/double/with-qdpjit-quda-mpi  lqcd/cuda/12.4  lqcd/llvm/22.1.8  lqcd/mpi/openmpi/5.0.10/cuda12.4-gcc11  lqcd/quda/1.1.0/cuda12.4-openmpi5.0.10

12.10.3.3 How to Use the Software

Chroma

Chroma is compiled in double precision. Load the runtime environment and dependencies with module load lqcd/chroma/double/with-qdpjit-quda-mpi. Jobs are submitted via SLURM. Below is a simple job script:

#! /bin/bash
#### Job Queue
#SBATCH --partition=gpu

#### Group Name: lqcd
#SBATCH --account=lqcd

#### CPU Cores
#SBATCH --ntasks=8

#### Output redirection
#SBATCH --output=<some_writable_directory>/job-%j.out
#SBATCH --job-name=gpu_test

##### Specify memory to use, or slurm will allocate all available memory
#SBATCH --mem-per-cpu=2048

##### Specify how many GPU cards to use,  8 in total per node.
#SBATCH --gres=gpu:v100:2

module use /hpcfs/lqcd/qcd/modulefiles
module load lqcd/chroma/double/with-qdpjit-quda-mpi

mpirun -np 2 chroma -geom 1 1 1 2 -i sample.in.xml -o sample.out.xml

🤖 AI 助手
💬 快速提问 ×

有问题?输入后跳转到对话页继续交流