阿里雲E-HPC GROMACS分子動力學模擬實踐
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://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加速版本
算例下載與解壓
- 進入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
記憶體效能評估:介紹如何基於STREAM工具進行記憶體頻寬效能評測
通訊效能評估:介紹如何基於IMB對不同訊息粒度下節點間MPI通訊效率進行評測
HPC Application
LAMMPS:基於LAMMPS的分子動力學典型算例3d Lennard-Jones melt,包含作業建立、提交、視覺化全流程
TensorFlow:基於TensorFlow的機器學習環境部署、計算流程。使用HPC排程器提交作業
OpenFOAM:基於OpenFOAM的計算流體力學模擬算例
E-HPC產品特色及應用
E-HPC場景化操作指導
相關文章
- 效能達1.5+倍!昇騰AI助力分子動力學模擬研究AI
- 車輛動力學模型在模擬測試中的應用實踐模型
- [計算化學]分子動力學筆記筆記
- LAMMPS分子動力學核心技術實戰應用
- 阿里雲“大算力”支援嬴徹自動駕駛模擬提速 20 倍阿里自動駕駛
- Adams— 系統級多體動力學模擬平臺
- 前端模擬介面資料(mock)實踐前端Mock
- 動力傳動系統模擬測試解決方案
- Python零基礎學習程式碼實踐——模擬彩票中獎Python
- 訓練資料減少多達三個數量級,等變圖神經網路在長時間尺度上進行高保真分子動力學模擬神經網路
- js實現的模擬滾動條效果JS
- 智駕模擬測試實戰之自動泊車HiL模擬測試
- mousewheel 模擬滾動
- Apache RocketMQ 在阿里雲大規模商業化實踐之路ApacheMQ阿里
- 如約而至!ModelBase:經緯恆潤自研車輛動力學模擬軟體
- 移動端模擬滾動
- 上雲實踐操作(漫步雲端)之上雲動力
- 阿里雲 EventBridge 事件驅動架構實踐阿里事件架構
- 得物App資料模擬平臺的探索和實踐APP
- Charles實踐01-抓包及模擬網路環境
- 解析·玄學 模擬退火
- 5G+實時雲渲染,助力虛擬模擬實訓教學升級
- 阿里雲效團隊大規模程式碼構建技術實踐阿里
- 開發實踐丨用小熊派STM32開發板模擬自動售貨機
- JavaScript模擬拋物運動的程式碼實現JavaScript
- promise的模擬實現Promise
- javascript模擬實現replaceAll()JavaScript
- 模擬退火 學習筆記筆記
- 模擬退火學習筆記筆記
- Proteus模擬學習筆記筆記
- 模擬展示動態按鈕
- 對25,000多個原子進行納秒級MD模擬,DeepMind開發基於ML的大規模分子模擬通用方法
- 阿里雲物聯網平臺裝置模擬器阿里
- javascript模擬實現滾動條效果程式碼例項JavaScript
- 阿里雲RDS PG最佳實踐阿里
- 三維模擬模擬如何實現精益工廠佈局?
- Python零基礎學習程式碼實踐——模擬播放器中的歌詞顯示Python播放器
- javascript模擬new的實現JavaScript