GROMACS 简介
GROMACS(GROningen MAchine for Chemical Simulations)是一款通用软件包,用于对具有数百万颗粒子的系统进行基于牛顿运动方程的分子动力学模拟。GROMACS主要用于生物化学分子,如蛋白质,脂质等具有多种复杂键合相互作用的核酸。由于GROMACS在计算典型的主流模拟应用如非键合相互作用非常高效,许多研究人员将其用于非生物系统如聚合物的研究。
GROMACS支持从现代分子动力学实现中预期的所有常见算法,可以采用GPU卡来加速核心计算过程。其代码由世界各地的开发人员维护。详情可参见官网www.gromacs.org 。
准备工作
若您尚未拥有E-HPC集群,请先 创建E-HPC集群
安装软件包
运行以下示例需要在创建集群时或者软件管理界面上选择安装GROMACS相关软件包。
- 使用GROMACS的GPU加速版本需要安装如下软件包
注:若需运行gromacs-gpu加速版本,在创建集群时必须使用GPU系列机型作为计算节点,否则集群无法按照以下指引运行。
创建用户
进入E-HPC管理控制台,点选左侧栏的“用户”标签,进行用户创建。本案例中,我们创建一个名为gmx.test的sudo用户。
输入算例介绍
算例1:水中的溶菌酶(Lysozyme in Water)
本算例为用户设置一个蛋白质(lysozyme)加上离子在水盒子里的模拟过程。
官方教程链接:http://www.mdtutorials.com/gmx/
下载地址:http://public-ehs.oss-cn-hangzhou.aliyuncs.com/packages/Lysozyme.tar.gz
算例2:水分子运动
本算例为模拟大量水分子在给定空间、温度内的运动过程。
下载地址:http://public-ehs.oss-cn-hangzhou.aliyuncs.com/packages/water_GMX50_bare.tar.gz
运行GROMACS的GPU加速版本
算例下载与解压
- 进入E-HPC管理控制台,点选集群右侧“更多”选项,选择“执行命令”,进入集群命令运行界面。
- 在集群命令运行界面点击“批量执行”,选择集群登录节点执行下图所示的算例下载、解压、修改权限操作。
- 返回E-HPC管理控制台,点选左侧栏的“作业”标签,进入作业管理界面。
- 依次选择"创建作业"->“新建文件”->“使用文件模板”->“pbs demo”,对pbs demo脚本进行编辑,得到运行GROMACS-GPU版本作业的pbs脚本如下所示。
#!/bin/sh
#PBS -j oe
#PBS -l select=1:ncpus=8
export MODULEPATH=/opt/ehpcmodulefiles/ #module命令依赖的环境变量
module load gromacs-gpu/2018.1
module load openmpi/3.0.0
module load cuda-toolkit/9.0
cd /home/gmx.test/water-cut1.0_GMX50_bare/1536
/opt/gromacs-gpu/2018.1/bin/gmx_mpi grompp -f pme.mdp -c conf.gro -p topol.top -o topol_pme.tpr #前处理过程,生成tpr格式输入文件
mpirun -np 1 -host compute9 /opt/gromacs-gpu/2018.1/bin/gmx_mpi mdrun -ntomp 8 -nsteps 400000 -pin on -nb gpu -s topol_pme.tpr #-ntomp指定每个进程开启的OpenMP线程数,-nsteps指定模拟迭代步数
注: 本例中,作业在名为gmx.test的用户下提交,在一个包含8个CPU核和1块P100 GPU卡的计算节点compute9上运行。在实际使用场景中用户可根据集群配置情况做出适当修改。
- 设置下图左侧作业基本参数后,点击确认提交作业。作业个性化配置、作业导入、作业导出以及作业状态查看,请参见作业管理。
- 点击作业列表右侧的 “详情” 按钮,查看作业详细信息。
GROMACS作业性能监测
- 返回E-HPC管理控制台,点击左侧栏的“集谛”标签,进入集谛性能监测界面。在“节点性能”面板上查看各项硬件性能指标,实时监测节点硬件资源的利用情况以及随时间的变化趋势。如下图所示,GROMACS作业的GPU利用率维持在60%以上。
- 点击“进程性能”面板,查看当前CPU利用率前五的进程信息。由于本案例中的GROMACS作业仅使用一个进程,每个进程开启八个线程,因此图中“gmx_mpi”进程始终占据第一位,且CPU占用率远超其它四个进程之和。
- 点击上图中“剖析进程5833”,设置剖析时长和采样频率,启动对GROMACS作业的实时性能剖析,获取热点函数火焰图如下。从图中可以查看GROMACS作业中各函数的耗时占比和调用栈关系。
GROMACS计算结果可视化
- 在软件管理界面安装MD可视化工具VMD,使用远程可视化功能打开远程可视化桌面。Terminal运行
/opt/vmd/1.9.3/vmd
,打开VMD软件。
- 加载分子结构文件和轨迹文件,查看模拟效果。
更多E-HPC功能及实践案例请参考
HPC Benchmark
通信性能评估:介绍如何基于IMB对不同消息粒度下节点间MPI通信效率进行评测
HPC Application
LAMMPS:基于LAMMPS的分子动力学典型算例3d Lennard-Jones melt,包含作业创建、提交、可视化全流程
OpenFOAM:基于OpenFOAM的计算流体力学仿真算例