7.10 LQCD
7.10.1 Lattice QCD 简介
量子色动力学(QCD)是描述强相互作用及强子结构的基本理论。因为涉及强耦合,其严格求解是极具挑战性的理论难题。格点 QCD (Lattice QCD or LQCD) 是从 QCD 第一性原理出发研究夸克和胶子性质的数值规范场论方法。
7.10.2 LQCD 常用计算软件
目前高能所常用的 LQCD 软件有:
- Chroma: 是由USQCD格点组开源的一个格点计算软件包,可以用来产生格点组态,计算强子关联函数等等。
- QUDA:是由 NVIDIA 支持开发的使用 GPU 进行格点计算的开源软件库,可以比较方便地调用进行相关的格点计算,通常与 Chroma 结合使用。
- GWU-Code:是 χQCD 格点组开发的格点计算软件,目前暂未开源。
- xqcd.io : 由理论室宫明老师基于 Scheme 开发的 LQCD 计算软件.
7.10.3 LQCD 软件使用
7.10.3.1 软件版本与存储位置
编译好的 Chrom、QUDA 等目前放在/cvmfs/lqcd.ihep.ac.cn/chroma/目录下面,按照系统分为sl6和sl7版本,同时按照精度,又分为double和single版本。 编译好的GWU-Code则放在/cvmfs/lqcd.ihep.ac.cn/gwuc-code目录下面, 与Chroma类似。
首次使用之前,需要执行如下命令,之后提交任务时就不需要再执行:
echo"module use /hpcfs/lqcd/modulefiles">>~/.bashrcsource~/.bashrc
查看软件版本可以通过如下命令:
$ module av ---------------------------------------------------------- /hpcfs/lqcd/qcd/modulefiles ----------------------------------------------------------- lqcd/base/sl7 lqcd/gcc/7.3.1 lqcd/python/3.8 lqcd/chroma/double/with-qdpjit-quda-mpi lqcd/gcc/9 lqcd/quda/1.1.0/cuda11.7-openmpi4.1.3 lqcd/cmake/3.24.2 lqcd/gcc/9.1.1 lqcd/ucx/1.12.1/cuda11.7-gcc11 lqcd/cuda/10.2 lqcd/gdrcopy/2.3/gcc10 lqcd/ucx/1.12.1/cuda11.7-gcc9 lqcd/cuda/11.7 lqcd/gwu-code/openmpi4.1.4-cuda11.7-gcc11 lqcd/ucx/1.13.1/cuda11.7-gcc11 lqcd/eigen/3.3.7 lqcd/gwu-code/openmpi4.1.4-cuda11.7-gcc11-old lqcd/xqcd.io/double/mvapich2 lqcd/gcc/10 lqcd/lapack/3.9.0/gcc7 lqcd/xqcd.io/double/openmpi lqcd/gcc/10.2.1 lqcd/libxml2/2.6.24 lqcd/xqcd.io/single/mvapich2 lqcd/gcc/11 lqcd/llvm/13.0.0 lqcd/xqcd.io/single/openmpi lqcd/gcc/11.2.1 lqcd/mpi/openmpi/4.1.3/cuda11.7-gcc11 lqcd/gcc/7 lqcd/mpi/openmpi/4.1.4/cuda11.7-gcc11
7.10.3.2 软件使用方法
Chroma
使用single或double版本的 Chroma, 要load lqcd/chroma/double。 作业使用 SLURM 进行提交。下面是一个简单的作业脚本:
#! /bin/bash#### Job Queue#SBATCH --partition=gpu#### Group Name: lqcd#SBATCH --account=lqcd#### CPU Cores#SBATCH --ntasks=8#### Not necessary if logged in as afs account#SBATCH --uid=#### Output redirection#SBATCH --output=/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:2module load lqcd/chroma/double srun -n8${CHROMA_HOME}/bin/chroma -i sample.in.xml -o sample.out.xml>sample.out.log&wait
GWU-Code
使用 GWU-Code,需要load lqcd/gwucode/openmpi4.1.4-cuda11.7-gcc11,作业使用 Slurm 进行提交。其中有一个环境变量GWUHOME指向 GWU-CODE 安装目录。