GROMACS憑借英特爾oneAPI開放的編程和多架構(gòu)工具進(jìn)行加速,并在基于英特爾Xe架構(gòu)的GPU上運(yùn)行,展現(xiàn)卓越性能。
英特爾致力于培育一個開放的生態(tài)系統(tǒng),包括為許多開源項目做出技術(shù)貢獻(xiàn),這些項目都對現(xiàn)實世界產(chǎn)生了直接影響。GROMACS就是其中的一個例子,它是一個分子動力學(xué)軟件包,用于模擬設(shè)計新藥物的蛋白質(zhì)、脂質(zhì)和核酸。最近發(fā)布的GROMACS 2022使用SYCL和oneAPI進(jìn)行開發(fā),在多種架構(gòu)上運(yùn)行展現(xiàn)出卓越的性能,包括基于英特爾Xe架構(gòu)的GPU。
英特爾并行軟件工程師Roland Schulz表示:“GROMACS是世界上使用最廣泛的開源分子動力學(xué)應(yīng)用之一。原因很簡單,借助該應(yīng)用進(jìn)行的模擬,能幫助我們更好地了解小到體內(nèi)的蛋白質(zhì),大到宇宙星系的分子動態(tài)。值得注意的是,我們與GROMACS的合作,即使用oneAPI進(jìn)行開發(fā)和優(yōu)化,讓英特爾參與到藥物研發(fā)的重大進(jìn)展中,并擴(kuò)展了GROMACS跨多個計算架構(gòu)的開放式開發(fā)。這一切都是在與我們非常珍視的開源社區(qū)合作時實現(xiàn)的。”
GROMACS的分子動力學(xué)模擬由oneAPI提供技術(shù)支持,與國際分布式計算項目Folding@home等項目一起,為確定針對乳腺癌、新型冠狀肺炎、2型糖尿病等疾病關(guān)鍵藥物的解決方案做出了貢獻(xiàn)。在現(xiàn)代藥物研發(fā)中,分子動力學(xué)模擬得到了廣泛而成功地應(yīng)用。這些模擬為研究人員提供了所需的生物大分子結(jié)構(gòu)信息,以了解結(jié)構(gòu)與功能關(guān)系,用于指導(dǎo)藥物研發(fā)和設(shè)計過程。像GROMACS這樣的計算工具,在藥物研發(fā)方面的應(yīng)用,有助于研究人員更有效地設(shè)計和評估新藥的同時,節(jié)省資源。
斯德哥爾摩大學(xué)和瑞典皇家理工學(xué)院的GROMACS研發(fā)團(tuán)隊在生物物理學(xué)教授Erik Lindahl的帶領(lǐng)下,引領(lǐng)著GROMACS分子動力學(xué)工具包的開發(fā),這是世界上使用最廣泛的高性能計算應(yīng)用之一。分子動力學(xué)以計算為中心,并且頻繁迭代,這讓它成為最耗時的高性能計算應(yīng)用之一。數(shù)十億次的計算會涉及數(shù)百萬行的代碼。
oneAPI作為一種開放、統(tǒng)一的編程模型,用于CPU和加速器,并支持多個廠商的計算機(jī)架構(gòu),這幫助Lindahl教授和他的團(tuán)隊擴(kuò)展了GROMACS對異構(gòu)硬件的支持。這得益于使用跨架構(gòu)、跨廠商的開放標(biāo)準(zhǔn)從而提高了生產(chǎn)力?;谶@些標(biāo)準(zhǔn),oneAPI編程簡化了軟件的開發(fā)流程,無需特定的編程語言或供應(yīng)商,就能提供加速計算的性能,同時允許集成現(xiàn)有代碼,包括OpenMP。
作為oneAPI優(yōu)化工作的一部分,Lindahl的團(tuán)隊通過使用英特爾? DPC++兼容性工具(英特爾? oneAPI基礎(chǔ)工具包的一部分),將GROMACS中只能在Nvidia硬件上運(yùn)行的CUDA代碼,遷移到SYCL,該工具通常能自動執(zhí)行90至95%的代碼遷移工作1,2。這允許其團(tuán)隊創(chuàng)建一個新的、獨立可遷移的跨架構(gòu)代碼庫。這極大簡化了開發(fā)工作,并為多架構(gòu)環(huán)境的部署提供靈活性。
Lindahl表示:“憑借GROMACS 2022對SYCL和oneAPI的全面支持,我們擴(kuò)展了GROMACS,使其可以在新型硬件上運(yùn)行。通過英特爾? DevCloud,我們已經(jīng)在當(dāng)前基于英特爾Xe架構(gòu)的GPU,以及即將推出基于英特爾Xe架構(gòu)的GPU開發(fā)平臺Ponte Vecchio上,運(yùn)行了生產(chǎn)模擬。這一階段取得的性能結(jié)果令人印象深刻,證明了英特爾軟硬件協(xié)同合作的力量??偠灾?,這些優(yōu)化實現(xiàn)了硬件的多樣性,提供了高端性能,并推動了競爭和創(chuàng)新,讓我們能更快地開展科學(xué)研究,并降低下游產(chǎn)業(yè)的成本。”
通過使用英特爾oneAPI跨架構(gòu)工具進(jìn)行優(yōu)化,例如oneAPI DPC++/C++編譯器、oneAPI庫以及高性能計算分析和集群工具,GROMACS實現(xiàn)了加速計算,oneAPI工具可在英特爾? DevCloud中獲取。英特爾? DevCloud是一個免費(fèi)環(huán)境,可以在各種英特爾架構(gòu)如CPU, GPU, FPGA上,開發(fā)和測試代碼。