使用GROMACS進(jìn)行分子動(dòng)力學(xué)模擬
本文以GROMACS軟件為例介紹如何在E-HPC上進(jìn)行分子動(dòng)力學(xué)模擬。
背景信息
GROMACS(GROningen MAchine for Chemical Simulations)是一款通用軟件,用于對(duì)具有數(shù)百萬(wàn)顆粒子的系統(tǒng)進(jìn)行基于牛頓運(yùn)動(dòng)方程的分子動(dòng)力學(xué)模擬。
GROMACS主要用于生物化學(xué)分子,如蛋白質(zhì)、脂質(zhì)等具有多種復(fù)雜鍵合相互作用的核酸分析。GROMACS計(jì)算典型的模擬應(yīng)用,如高效地計(jì)算非鍵合相互作用,許多研究人員用其研究非生物系統(tǒng)的聚合物。
GROMACS支持分子動(dòng)力學(xué)的常見(jiàn)算法,可以采用GPU來(lái)加速核心計(jì)算過(guò)程。更多信息,請(qǐng)參見(jiàn)GROMACS官網(wǎng)。
相關(guān)算例
算例1:水中的溶菌酶
本算例為一個(gè)蛋白質(zhì)加上離子在水盒子里的模擬過(guò)程。
算例下載地址:https://public-ehpc-package.oss-cn-hangzhou.aliyuncs.com/Lysozyme.tar.gz
算例2:水分子運(yùn)動(dòng)
本算例為模擬大量水分子在給定空間、溫度內(nèi)的運(yùn)動(dòng)過(guò)程。
算例下載地址:https://public-ehpc-package.oss-cn-hangzhou.aliyuncs.com/water_GMX50_bare.tar.gz
準(zhǔn)備工作
創(chuàng)建E-HPC集群。具體操作,請(qǐng)參見(jiàn)使用向?qū)?chuàng)建集群。
配置集群時(shí),本文使用的軟硬件參數(shù)配置示例如下:
參數(shù)
說(shuō)明
硬件參數(shù)
部署方式為標(biāo)準(zhǔn),包含2個(gè)管控節(jié)點(diǎn),1個(gè)計(jì)算節(jié)點(diǎn)和1個(gè)登錄節(jié)點(diǎn),其中計(jì)算節(jié)點(diǎn)使用GPU實(shí)例規(guī)格(例如ecs.gn5-c8g1.2xlarge)。
軟件參數(shù)
鏡像選擇CentOS 7.2公共鏡像,調(diào)度器選擇pbs,并打開(kāi)VNC開(kāi)關(guān)。
創(chuàng)建集群用戶(hù)。具體操作,請(qǐng)參見(jiàn)創(chuàng)建用戶(hù)。
集群用戶(hù)用于登錄集群,進(jìn)行編譯軟件、提交作業(yè)等操作,本文創(chuàng)建的用戶(hù)示例如下:
用戶(hù)名:gmx.test
用戶(hù)組:sudo權(quán)限組
安裝軟件。具體操作,請(qǐng)參見(jiàn)安裝軟件。
需安裝的軟件如下:
gromacs-gpu,版本為2018.1。
openmpi,版本為3.0.0。
cuda-toolkit,版本為9.0。
vmd,版本為1.9.3。
步驟一:連接集群
選擇以下一種方式連接集群。本文使用的用戶(hù)名為gmx.test,連接集群后會(huì)默認(rèn)登錄到/home/gmx.test
。
通過(guò)客戶(hù)端
該方式僅支持使用PBS調(diào)度器的集群。操作前,請(qǐng)確保您已下載安裝E-HPC客戶(hù)端,且已配置客戶(hù)端所需環(huán)境。具體操作,請(qǐng)參見(jiàn)配置客戶(hù)端所需環(huán)境。
打開(kāi)并登錄E-HPC客戶(hù)端。
在客戶(hù)端左側(cè)導(dǎo)航欄,單擊會(huì)話(huà)管理。
在會(huì)話(huà)管理頁(yè)面的右上角,單擊terminal,打開(kāi)Terminal窗口。
通過(guò)控制臺(tái)
在頂部菜單欄左上角處,選擇地域。
在左側(cè)導(dǎo)航欄,單擊集群。
在集群頁(yè)面,找到目標(biāo)集群,單擊遠(yuǎn)程連接。
在遠(yuǎn)程連接頁(yè)面,輸入集群用戶(hù)名、登錄密碼和端口,單擊ssh連接。
步驟二:提交作業(yè)
執(zhí)行以下命令下載并解壓算例。
本文使用水分子運(yùn)動(dòng)算例作為示例。
wget https://public-ehpc-package.oss-cn-hangzhou.aliyuncs.com/water_GMX50_bare.tar.gz tar xzvf water_GMX50_bare.tar.gz chown -R gmx.test water-cut1.0_GMX50_bare chgrp -R users water-cut1.0_GMX50_bare
執(zhí)行以下命令創(chuàng)建作業(yè)腳本文件,腳本文件命名為gmx.pbs。
vim gmx.pbs
作業(yè)腳本內(nèi)容示例如下:
說(shuō)明本示例使用名為gmx.test的用戶(hù)提交作業(yè),在一個(gè)包含8個(gè)vCPU和1塊P100 GPU卡的計(jì)算節(jié)點(diǎn)上運(yùn)行。實(shí)際使用場(chǎng)景中,您可根據(jù)集群配置情況做出適當(dāng)修改。
#!/bin/sh #PBS -j oe #PBS -l select=1:ncpus=8:mpiprocs=4 #PBS -q workq #module命令依賴(lài)的環(huán)境變量 export MODULEPATH=/opt/ehpcmodulefiles/ module load gromacs-gpu/2018.1 module load openmpi/3.0.0 module load cuda-toolkit/9.0 export OMP_NUM_THREADS=1 cd /home/gmx.test/water-cut1.0_GMX50_bare/0096 #前處理過(guò)程,生成tpr格式輸入文件 /opt/gromacs-gpu/2018.1/bin/gmx_mpi grompp -f pme.mdp -c conf.gro -p topol.top -o topol_pme.tpr #-ntomp指定每個(gè)進(jìn)程開(kāi)啟的OpenMP線(xiàn)程數(shù),-nsteps指定模擬迭代步數(shù) mpirun -np 4 /opt/gromacs-gpu/2018.1/bin/gmx_mpi mdrun -ntomp 1 -nsteps 100000 -pin on -s topol_pme.tpr
執(zhí)行以下命令提交作業(yè)。
qsub gmx.pbs
預(yù)期返回如下,表示生成的作業(yè)ID為0.scheduler。
0.scheduler
步驟三:查看作業(yè)結(jié)果
查看作業(yè)運(yùn)行情況。
qstat -x 0.scheduler
預(yù)期返回如下,當(dāng)返回信息中
S
為R
時(shí),表示作業(yè)正在運(yùn)行中;當(dāng)返回信息中S
為F
時(shí),表示作業(yè)已經(jīng)運(yùn)行結(jié)束。Job id Name User Time Use S Queue ---------------- ---------------- ---------------- -------- - ----- 0.scheduler gmx.pbs gmx.test 00:34:42 F workq
說(shuō)明作業(yè)運(yùn)行需要一定的時(shí)間,請(qǐng)您耐心等待。作業(yè)運(yùn)行結(jié)束后,您可以執(zhí)行
cat gmx.pbs.o0
查看作業(yè)輸出。使用VNC可視化查看作業(yè)結(jié)果。
打開(kāi)VNC。
說(shuō)明請(qǐng)確保集群所屬安全組已打開(kāi)VNC所需端口。控制臺(tái)操作時(shí)系統(tǒng)會(huì)自動(dòng)打開(kāi)12016端口,客戶(hù)端操作時(shí),請(qǐng)您自行打開(kāi)端口,首個(gè)VNC窗口使用12017端口,如果有多個(gè)用戶(hù)使用VNC,則端口號(hào)按順序遞增。
通過(guò)客戶(hù)端
在客戶(hù)端的左側(cè)導(dǎo)航欄,單擊會(huì)話(huà)管理。
在會(huì)話(huà)管理頁(yè)面的右上角,單擊VNC,打開(kāi)VNC窗口。
通過(guò)控制臺(tái)
在彈性高性能計(jì)算控制臺(tái)的左側(cè)導(dǎo)航欄,單擊集群。
在集群頁(yè)面,找到目標(biāo)集群,單擊更多 > VNC。
使用VNC遠(yuǎn)程連接可視化服務(wù)。具體操作,請(qǐng)參見(jiàn)連接可視化服務(wù)。
在VNC窗口中,選擇Application>System Tools>Terminal。
運(yùn)行
/opt/vmd/1.9.3/vmd
打開(kāi)VMD軟件。在VMD Main對(duì)話(huà)框中,選擇File > New Molecule...。
單擊Filename處對(duì)應(yīng)的Browse...,選擇結(jié)果文件conf.gro。
說(shuō)明conf.gro文件所在路徑為/home/gmx.test/water-cut1.0_GMX50_bare/0096/conf.gro。
單擊Load,可在VMD 1.9.3 OpenGL Display窗口查看可視化結(jié)果。
步驟四:查看作業(yè)計(jì)算性能
僅控制臺(tái)支持查看作業(yè)計(jì)算性能,客戶(hù)端暫不支持該功能。
在左側(cè)導(dǎo)航欄,選擇作業(yè)與性能管理 > E-HPC優(yōu)化器。
找到目標(biāo)集群,單擊節(jié)點(diǎn)。
在節(jié)點(diǎn)性能頁(yè)簽下,查看節(jié)點(diǎn)性能。
選擇作業(yè)和計(jì)算節(jié)點(diǎn)。
(可選)設(shè)置時(shí)間段。
選擇作業(yè)后,時(shí)間段會(huì)自動(dòng)調(diào)整為作業(yè)運(yùn)行的時(shí)間段,您也可以自行調(diào)整時(shí)間段。
單擊指標(biāo)選擇,選擇要查看的指標(biāo)。
查看節(jié)點(diǎn)性能圖。
結(jié)果示例如下,鼠標(biāo)上移到圖形上方可以查看詳細(xì)數(shù)據(jù)。
單擊進(jìn)程性能頁(yè)簽,查看進(jìn)程性能。
選擇作業(yè)和計(jì)算節(jié)點(diǎn)。
(可選)設(shè)置時(shí)間段。
選擇作業(yè)后,時(shí)間段會(huì)自動(dòng)調(diào)整為作業(yè)運(yùn)行的時(shí)間段,您也可以自行調(diào)整時(shí)間段。
查看進(jìn)程性能圖。
結(jié)果示例如下,鼠標(biāo)上移到圖形上方可以查看詳細(xì)數(shù)據(jù)。
啟動(dòng)性能剖析任務(wù)。
在進(jìn)程性能圖上單擊您想要的時(shí)間點(diǎn),然后在圖示上方單擊您想要剖析的進(jìn)程。
在彈出的對(duì)話(huà)框中設(shè)置性能剖析參數(shù),然后單擊確定。
參數(shù)包括時(shí)長(zhǎng)和采樣頻率,單擊確定后即可啟動(dòng)對(duì)作業(yè)的實(shí)時(shí)性能剖析。
單擊性能剖析頁(yè)簽,查看剖析結(jié)果。
選擇剖析任務(wù),單擊查看。
查看剖析結(jié)果。
結(jié)果示例如下,鼠標(biāo)上移到圖形上方可以查看詳細(xì)數(shù)據(jù)。