Lammps编译安装
环境:235集群,Rocky Linux 8.6,Slurm作业管理系统,Intel oneAPI 2022.01编译器
下载源码包¶
使用wget在Lammps下载官网下载稳定版 直接使用wget下载https链接会报证书错误,需要加--no-check-certificate参数,或者进行如下操作:
[userA@quantum ~]$ echo "check-certificate = off" > ~/.wgetrc
[userA@quantum ~]$ cd chemsoft/
[userA@quantum chemsoft]$ wget https://download.lammps.org/tars/lammps-stable.tar.gz
[userA@quantum chemsoft]$ tar -zxvf lammps-stable.tar.gz
[userA@quantum chemsoft]$ cd lammps-23Jun2022/
salloc申请编译计算节点¶
集群管理节点一般做了限制,不允许在上面直接运行作业或编译,我们也没专门设置编译节点,因此需要在计算节点上编译。为避免正常作业与编译抢占CPU,我们把编译也按正常作业提交即可。
[userA@quantum lammps-23Jun2022]$ salloc -N 1 -n 4 -p lzl-grp -w node27
sacctmgr show ass user=$(whoami) format=part
查看。队列所对应的节点可用sinfo或者pestat命令查看。
这里我们申请一个计算节点,4核,使用lzl-grp队列,申请计算节点为node27.
[userA@quantum lammps-23Jun2022]$ qa
JOBID NAME USER ST TIME TIME_LIMIT NODES CPUS PARTITION NODELIST(REASON)
31834 interactive userA R 49:05 UNLIMITED 1 4 lzl-grp node27
编译Lammps¶
先ssh到申请的计算节点
[userA@quantum lammps-23Jun2022]$ ssh node27
[userA@node27 ~]$ cd chemsoft/lammps-23Jun2022/src/
[userA@node27 src]$ make clean-all
[userA@node27 src]$ make yes-all
[userA@node27 src]$ make no-lib
[userA@node27 src]$ source /opt/intel/oneapi/setvars.sh
[userA@node27 src]$ make -j 4 intel_cpu_intelmpi &>make.log &
[userA@node27 src]$ exit
[userA@quantum lammps-23Jun2022]$ scancel 31834
salloc: Job allocation 31834 has been revoked.
[userA@quantum lammps-23Jun2022]$ qa
JOBID NAME USER ST TIME TIME_LIMIT NODES CPUS PARTITION NODELIST(REASON)
Lammps的提交脚本¶
[userA@quantum lammps]$ cat test.sh
#!/bin/bash
# Job submission script for SLURM:
# Usage: sbatch <this_script>
#
#SBATCH -J test
#SBATCH -o test.o%J
##SBATCH -e test.e
#SBATCH -N 1
#SBATCH --ntasks-per-node=8
#SBATCH -t 2022:06:00
#SBATCH -p sunh-grp
#############################################################################
# -J: name of job
# -o: file for batch script's standard output
# -e: file for batch script's standard error
# -N: number of nodes on which to run (N = min[-max])
# -n: number of tasks to run
# -t: time limit
# -p: partition requested
# -w: request a specific list of hosts
#############################################################################
# go to work dir
cd $SLURM_SUBMIT_DIR
# The program we want to execute
EXEC=/home/userA/chemsoft/lammps-23Jun2022/lmp_intel_cpu_intelmpi
# export the environment variables of Intel oneAPI
source /opt/intel/oneapi/setvars.sh
echo "Starting LAMMPS run at" `date`
# running program
time mpiexec.hydra -n $SLURM_NTASKS $EXEC -in test.lj
echo "Finished LAMMPS run at" `date`
echo "Work Dir is : $SLURM_SUBMIT_DIR"
[userA@quantum lammps]$ ll
total 8
-rw-r--r-- 1 userA ifmc 639 Sep 27 2022 test.lj
-rw-r--r-- 1 userA ifmc 1260 Sep 27 2022 test.sh
[userA@quantum lammps]$ sbatch test.sh
Submitted batch job 31850
[userA@quantum lammps]$ qa
JOBID NAME USER ST TIME TIME_LIMIT NODES CPUS PARTITION NODELIST(REASON)
31850 test userA R 0:04 84-06:06:00 1 8 sunh-grp node33
参考¶
本文阅读量 次本站总访问量 次