GPUMD 版本环境与作业提交
版本环境与作业提交,包含终端命令、完整输入与集群实际算例。
阅读本篇目录
本文使用鸢算科技集群GPUMD 5.9.1实际运行结果。先下载全部实例与绘图脚本并解压,进入gpumd-examples目录。参考结果在cases,新运行放在work;不要在参考目录重复运行,让输出不断追加。
1 确认版本与GPU型号#
本专题使用GPUMD 5.9.1。P100和V100使用各自模块;现有5.8.1保留,但本专题输入和数据以5.9.1为准。
module purge
module load gpumd/5.9.1-v100
which gpumd nep gnep
P100改为module load gpumd/5.9.1-p100。CUDA_VISIBLE_DEVICES由调度器设置,不要在提交脚本里随意写物理卡号。
2 生成并提交脚本#
输入yskit,选择复制Slurm脚本→用户类型→gpumd→5.9.1→GPU型号。软件有三种常用程序:MD使用gpumd,NEP训练或预测用nep,GNEP训练用gnep;NEP读取nep.in,GNEP读取gnep.in。
yskit
sbatch run.sh
squeue -u "$USER"
tail -n 20 run.log
附件自带run.sh的完整默认内容如下,适用于V100核时用户;如果yskit生成的名称不同,把sbatch后面的名字改为实际文件名。
#!/bin/bash
#SBATCH --job-name=gpumd-example
#SBATCH --partition=gpu-8v100-16g-hs
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=2
#SBATCH --gres=gpu:v100-16g:1
#SBATCH --mem=8G
#SBATCH --time=01:00:00
#SBATCH --output=job-%j.out
set -e
source /etc/profile.d/lmod.sh
module load gpumd/5.9.1-v100
export OMP_NUM_THREADS=2
gpumd > run.log 2>&1
不要在登录节点直接运行gpumd。通常一个GPU先把例子跑通,再考虑多卡;本批各例使用单GPU,多组任务并行。没有由此给出单任务多卡加速比。
3 实例与结果#
环境配置通过512原子硅NVE、NEP预测和GNEP训练三个实际入口分别演示。
编译环境简表#
| 项目 | 本专题环境 |
|---|---|
| 版本 | GPUMD 5.9.1 |
| 编译器 | GCC 13.3、CUDA 12.9.86 nvcc |
| GPU目标 | P100 sm60;V100 sm70 |
| 插件 | 私有PLUMED 2.10.1、NetCDF-C 4.10.1 |
| 启动 | 单进程,无需MPI启动器;未启用fast-math |
模块会设置GPUMD_SRC与CUDACXX,供NEP运行时编译使用。第一次使用某些NEP模型可能出现编译等待,不要因为还没有thermo.out就直接判断任务卡死。
4 绘图环境#
module load ase/3.29.0
python -c "import ase, numpy, scipy, matplotlib; print('绘图环境就绪')"
python plot.py --chapter first-run
上述最后一条在附件根目录运行,读取参考结果;自己的新结果加上--root work。返回专题
需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。