阿里雲E-HPC GROMACS分子動力學模擬實踐

weixin_33807284發表於2019-03-15

GROMACS 簡介

gromacs logo

GROMACS(GROningen MAchine for Chemical Simulations)是一款通用軟體包,用於對具有數百萬顆粒子的系統進行基於牛頓運動方程的分子動力學模擬。GROMACS主要用於生物化學分子,如蛋白質,脂質等具有多種複雜鍵合相互作用的核酸。由於GROMACS在計算典型的主流模擬應用如非鍵合相互作用非常高效,許多研究人員將其用於非生物系統如聚合物的研究。

GROMACS支援從現代分子動力學實現中預期的所有常見演算法,可以採用GPU卡來加速核心計算過程。其程式碼由世界各地的開發人員維護。詳情可參見官網www.gromacs.org 。

準備工作

若您尚未擁有E-HPC叢集,請先建立E-HPC叢集

安裝軟體包

執行以下示例需要在建立叢集時或者軟體管理介面上選擇安裝GROMACS相關軟體包。

  • 使用GROMACS的GPU加速版本需要安裝如下軟體包

GROMACS-GPU
openmpi 3.0.0
cuda

:若需執行gromacs-gpu加速版本,在建立叢集時必須使用GPU系列機型作為計算節點,否則叢集無法按照以下指引執行。

建立使用者

進入E-HPC管理控制檯,點選左側欄的“使用者”標籤,進行使用者建立。本案例中,我們建立一個名為gmx.test的sudo使用者。

輸入算例介紹

算例1:水中的溶菌酶(Lysozyme in Water)

本算例為使用者設定一個蛋白質(lysozyme)加上離子在水盒子裡的模擬過程。

官方教程連結:http://www.mdtutorials.com/gmx/

非官方中文翻譯連結:http://jerkwin.github.io/GMX/GMXtut-1/

下載地址: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加速版本

算例下載與解壓

執行命令

  • 叢集命令執行介面點選“批量執行”,選擇叢集登入節點執行下圖所示的算例下載、解壓、修改許可權操作。

執行命令

作業管理介面

  • 依次選擇"建立作業"->“新建檔案”->“使用檔案模板”->“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%以上。

cm節點資料

  • 點選“程式效能”皮膚,檢視當前CPU利用率前五的程式資訊。由於本案例中的GROMACS作業僅使用一個程式,每個程式開啟八個執行緒,因此圖中“gmx_mpi”程式始終佔據第一位,且CPU佔用率遠超其它四個程式之和。

cm程式資訊

  • 點選上圖中“剖析程式5833”,設定剖析時長和取樣頻率,啟動對GROMACS作業的實時效能剖析,獲取熱點函式火焰圖如下。從圖中可以檢視GROMACS作業中各函式的耗時佔比和呼叫棧關係。

剖析結果

GROMACS計算結果視覺化

  • 在軟體管理介面安裝MD視覺化工具VMD,使用遠端視覺化功能開啟遠端視覺化桌面。Terminal執行/opt/vmd/1.9.3/vmd,開啟VMD軟體。

vmd介面

  • 載入分子結構檔案和軌跡檔案,檢視模擬效果。

模擬過程

更多E-HPC功能及實踐案例請參考

HPC Benchmark

計算效能測試:介紹如何基於HPL進行系統浮點效能評測

記憶體效能評估:介紹如何基於STREAM工具進行記憶體頻寬效能評測

通訊效能評估:介紹如何基於IMB對不同訊息粒度下節點間MPI通訊效率進行評測

HPC Application

LAMMPS:基於LAMMPS的分子動力學典型算例3d Lennard-Jones melt,包含作業建立、提交、視覺化全流程

TensorFlow:基於TensorFlow的機器學習環境部署、計算流程。使用HPC排程器提交作業

OpenFOAM:基於OpenFOAM的計算流體力學模擬算例

WRF:基於WRF的氣象預報典型算例

E-HPC產品特色及應用

多佇列管理與自動伸縮

斷點續算

批量執行命令

基於OSS的作業提交

資料遷移

E-HPC場景化操作指導

批處理計算
流體力學

相關文章