GROMACS 环境与GPU提交
环境与GPU提交,包含终端操作、输入文件、实际数据和适用范围。
阅读本篇目录
本文以鸢算科技集群 GROMACS 2026.4 实际结果为例。下载输入、参考轨迹、分析与绘图资料包,资料包约 529 MB,包含参考轨迹。解压后进入 gromacs-examples。参考输出在 cases;新计算由 new-case.py 建立独立目录。
选择环境#
module load gromacs/2026.4-p100-threadmpi
gmx --version
gmx help commands
P100 使用 p100-threadmpi;V100 16G 使用 v100-threadmpi。普通单节点计算直接运行 gmx mdrun,thread-MPI 内部处理 rank。外部 MPI/PLUMED 版本改用匹配的 mpi-plumed 模块和 gmx_mpi。
本次实际版本为 2026.4,mixed 精度,GNU 13.3.0、CUDA 12.8、FFTW 3.3.10、cuFFT,CPU SIMD 为 AVX2_256,GPU 目标分别为 sm_60、sm_70。thread-MPI 版本启用 Colvars,未启用 PLUMED、CP2K 或 Torch 接口;PLUMED 另用专门构建。CPU 版本和其他历史版本的存在不代表本次已提供 CPU 性能数据。
单卡提交模板#
先在算例目录准备 md.tpr,或使用附件的 workflow.sh 自动准备并运行全部阶段。
#!/bin/bash
#SBATCH --job-name=gmx-example
#SBATCH --partition=gpu-8p100-hs
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=4
#SBATCH --gres=gpu:p100-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 gromacs/2026.4-p100-threadmpi
export OMP_NUM_THREADS=4 OPENBLAS_NUM_THREADS=1
bash workflow.sh
sbatch run.sh
squeue -u "$USER"
tail -n 30 job-作业号.out
若只运行已经准备好的生产 TPR,把最后一行改成:
gmx mdrun -deffnm md -ntmpi 1 -ntomp 4 -nb gpu -pme gpu -update cpu
模板为核时 P100;套餐用户运行 yskit,在脚本生成菜单中选自己的软件、版本和节点,保留实际执行命令。V100 16G 模板同时改分区为 gpu-8v100-16g-hs、GRES 为 gpu:v100-16g:1、模块为 gromacs/2026.4-v100-threadmpi。
GPU分工不能盲目照抄#
能量最小化的 PME 不能沿用本例动力学的 -pme gpu,本例最小化使用 -pme cpu。某些虚拟位点、约束或扩展限制 GPU update;本专题采用更通用的 -update cpu,不意味着 GPU 没有参与非键和 PME。
先单卡跑通,再使用实际 TPR 比较多卡和线程数。不要把 -ntmpi 与外部 mpirun 的 rank 数混为一谈,也不要给任务使用未分配的显卡。
参数查阅#
以本集群 gmx 命令名 -h 为准;GROMACS 2026.4 命令手册和MDP 参数手册可查完整选项。