应用简介
CP2K是一个开源的量子化学和固体物理软件包,可以对固态、液体、分子、周期性、材料、晶体和生物系统进行原子级模拟。
使用指南
公共集群中CPU版本的CP2K安装路径为 /opt/app/cp2k
。
以下为脚本示例:
#!/bin/bash
#SBATCH --job-name=cp2k
#SBATCH --partition=cpu
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=64
#SBATCH --output=%j.out
#SBATCH --error=%j.err
module load cp2k/9.1/cpu
INPUT_FILE=H2O-256.inp
mpirun -np $SLURM_NTASKS -x OMP_NUM_THREADS=1 cp2k.psmp ${INPUT_FILE}
INPUT_FILE=H2O-256.inp
请将H2O-256.inp
修改为自己的输入文件。
-np $SLURM_NTASKS
指定并行任务的数量为 SLURM_NTASKS
的值。
-x OMP_NUM_THREADS=1
设置OpenMP线程数为1,可以根据自己需要修改。
cp2k.psmp
是CP2K的可执行文件。
保存脚本为cp2k.sh,提交作业:
sbatch cp2k.sh
使用 Singularity 运行
创建 cp2k 工作目录
cd ~
mkdir cp2k && cd cp2k
上传输入文件 H2O-128.inp 至工作目录
交互式运行示例
salloc -n 64
source /opt/intel/bin/compilervars.sh intel64
export PATH=$PATH:/opt/app/singularity/bin
singularity run -B $PWD /opt/app/singularity/sif/cp2k_2023.2.sif mpirun -n 64 -genv OMP_NUM_THREADS=1 cp2k -i H2O-128.inp |tee H2O-128.out
批处理运行作业脚本示例
#!/bin/bash
#SBATCH --nodes=1
#SBATCH --job-name=cp2k
#SBATCH --ntasks-per-node=64
cd ~/cp2k
source /opt/intel/bin/compilervars.sh intel64
export PATH=$PATH:/opt/app/singularity/bin
singularity run -B $PWD /opt/app/singularity/sif/cp2k_2023.2.sif mpirun -n 64 -genv OMP_NUM_THREADS=1 cp2k -i H2O-128.inp |tee H2O-128.out
常见问题
- 出现
mpirun: command not found
错误
脚本中增加 source /opt/intel/bin/compilervars.sh intel64
设置环境变量。
参考文献
- Running CP2K Calculations
- 上海交大超算平台用户手册