英特爾攜手火山引擎,以高性能算力賦能VASP醫(yī)藥分子模型運(yùn)算?
背景
某醫(yī)藥公司在使用 VASP 生物醫(yī)藥分子模型優(yōu)化自己的算法時(shí)遇到了性能低下的問題,為了解決這個(gè)問題,一起針對(duì)VASP分子模型的特點(diǎn),進(jìn)行技術(shù)匹配,最終發(fā)現(xiàn),英特爾? oneAPI工具套件中的MPI庫能夠助其獲得理想結(jié)果。
使用的技術(shù)
MPI (Message Passing Interface),是開發(fā)者們?cè)诳茖W(xué)計(jì)算程序中,用于在參與計(jì)算的不同 CPU、或服務(wù)器節(jié)點(diǎn)之間進(jìn)行消息傳遞的一組規(guī)范或接口,通過這組接口,能幫助開發(fā)工程師們?cè)诓煌挠?jì)算平臺(tái)上快速編寫可跨平臺(tái)移植的并行計(jì)算程序,提升開發(fā)效率。
VASP(全稱 Vienna Ab-initio Simulation Package)是維也納大學(xué)Hafner小組開發(fā)的進(jìn)行電子結(jié)構(gòu)計(jì)算和量子力學(xué)-分子動(dòng)力學(xué)模擬軟件包。它是材料模擬和計(jì)算物質(zhì)科學(xué)研究中最流行的商用軟件之一。
測試
測試環(huán)境基于火山引擎g2i實(shí)例,采用雙路版第三代英特爾? 至強(qiáng)? 可擴(kuò)展處理器,提供強(qiáng)勁性能。
a. 測試步驟
步驟1,安裝英特爾? OneAPI 工具套件,并使能環(huán)境變量;
步驟2,基于OneAPI 中的英特爾? Compiler 和MKL(數(shù)學(xué)核心函數(shù)庫),編輯VASP 軟件包的makefile,編輯相關(guān)庫的地址,打開編譯器優(yōu)化配置,編譯構(gòu)建VASP 程序;
步驟3,獲取測試用例,運(yùn)行VASP 程序:
Bash
cd PATH-TO-CASE
mpirun -genv I_MPI_DEBUG=5 -np 4 PATH-TO/ binary/vasp_std
b. 優(yōu)化效果
基于業(yè)務(wù)模型提供定制化解決方案,其中包括使用英特爾? oneAPI 工具套件提升性能[1]:
實(shí)際性能受使用情況、配置和其他因素的差異影響。更多信息請(qǐng)見www.Intel.cn/PerformanceIndex
c. 異常 case 優(yōu)化:
客戶測試中遇到了一個(gè)異常 case,導(dǎo)致容易超時(shí)甚至運(yùn)算失敗等問題,而且在不同的配置下最終運(yùn)算結(jié)果會(huì)有小幅度的差異。
通過英特爾與火山引擎聯(lián)合定位分析,最終選擇了新版本的英特爾? MPI,結(jié)合測例中的NPAR參數(shù)調(diào)優(yōu):
? VASP 官方推薦實(shí)踐:
? 調(diào)優(yōu)后的最佳實(shí)踐:去掉 NPAR 這個(gè)參數(shù),可以獲得平衡的性能以及穩(wěn)定的結(jié)果輸出。
結(jié)論
火山引擎向該生物醫(yī)藥科技公司提供了基于英特爾? oneAPI 工具套件中的MPI庫,廣泛賦能更加數(shù)字化和智能化的藥物研發(fā)效率升級(jí),并對(duì)VASP分子訓(xùn)練模型進(jìn)行了NUMA親和性優(yōu)化,極大地提高了運(yùn)算性能,從而提高研發(fā)成功率、降低研發(fā)成本。
[1] 測試日期為 2022 年 9 月,該數(shù)據(jù)由字節(jié)跳動(dòng)提供,英特爾并不控制或?qū)徲?jì)第三方數(shù)據(jù)。請(qǐng)您審查該內(nèi)容,咨詢其他來源,并確認(rèn)提及數(shù)據(jù)是否準(zhǔn)確。