LAMMPS 即Large-scale Atomic/Molecular Massively Parallel Simulator,大规模原子分子并行模拟器,主要用于分子动力学相关的一些计算和模拟工作。
在私有实例中的LAMMPS只能单机运行,集群中的LAMMPS可以通过Slurm提交作业并行运行。
LAMMPS可能会有多种配置,比如GPU版本或CPU版本,请根据自己所需申请。
如果是CPU版本,输入如下命令运行:
$ /opt/app/lammps/3Mar20/lmp_intel_cpu_intelmpi
如果是GPU版本,输入如下命令运行:
$ /opt/app/lammps/3Mar20/lmp_intel_cpu_intelmpi_cuda
由于平台会更新LAMMPS版本,因此上述命令中的
3Mar20
可能会更新,可以ls opt/app/lampps
查看后修改。
在集群中安装有CPU版和GPU版lammps,安装路径为/opt/app/lammps/17Feb2022/
。
集群提交需要用到Slurm。Slurm的使用和各参数说明请参见该指南 <job>
。
vim lammps_job.sh
在脚本文件内添加如下内容后保存:
CPU版本:
#!/bin/bash
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=12
INPUT=bench.in
OUTPUT=bench.out
module load lammps/17Feb2022/cpu
mpirun -np ${SLURM_NTASKS} \
lmp_intel_cpu_intelmpi -in ${INPUT} -log ${OUTPUT}
GPU版本:
#!/bin/bash
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=12
#SBATCH --partition=gpu-a800
#SBATCH --gres=gpu:2
INPUT=bench.in
OUTPUT=bench.out
module load lammps/17Feb2022/gpu
mpirun -np ${SLURM_NTASKS} \
lmp_intel_cpu_intelmpi_cuda -sf gpu -pk gpu 2 -in ${INPUT} -log ${OUTPUT}
运行GPU版的lampps需要在脚本中指定有GPU卡的分区。
用sbatch
提交脚本。
$ sbatch lammps_job.sh
作业结束后,可以在bench.out
中查看输出结果。