高軍暉+管哲人+劉釗+鐘盈福+高竹+魏冬青
摘 要:“神威·太湖之光”計(jì)算系統(tǒng)是我國(guó)第一臺(tái)全部采用國(guó)產(chǎn)處理器構(gòu)建的超級(jí)計(jì)算機(jī),AutoDockVina是一款由MGL實(shí)驗(yàn)室開發(fā)的分子對(duì)接軟件。該文論述分子對(duì)接軟件AutoDockVina在太湖之光操作系統(tǒng)上的移植工作,包括AutoDockVina在“神威·太湖之光”上的編譯過(guò)程、測(cè)試過(guò)程和今后的工作方向。測(cè)試結(jié)果表明,vina在“神威·太湖之光”上的運(yùn)算速度正常、運(yùn)算結(jié)果正確,表明我們的移植工作取得了初步的成功。
關(guān)鍵詞:AutoDockVina 神威·太湖之光 軟件移植 編譯 測(cè)試
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2016)08(b)-0089-02
1 “神威·太湖之光”計(jì)算系統(tǒng)
“神威·太湖之光”計(jì)算系統(tǒng)是國(guó)家“863計(jì)劃”重大專項(xiàng)研究成果,是我國(guó)第一臺(tái)全部采用國(guó)產(chǎn)處理器構(gòu)建的超級(jí)計(jì)算機(jī),由國(guó)家并行計(jì)算機(jī)工程技術(shù)研究中心研制[1]。在2016年6月20日世界TOP500超級(jí)計(jì)算機(jī)排名中,“神威·太湖之光”系統(tǒng)峰值運(yùn)算性能(125.436PFlops)、持續(xù)運(yùn)算性能(93.015PFlops)、性能功耗比(6.05GFlops/W)三項(xiàng)關(guān)鍵指標(biāo)均位居世界第一。
“神威·太湖之光”計(jì)算系統(tǒng)共包含了40 960個(gè)“申威26010”眾核處理器?!吧晖?6010”是由國(guó)家“核高基”重大專項(xiàng)支持的我國(guó)第一款自主研發(fā)的眾核處理器,由國(guó)家高性能集成電路設(shè)計(jì)中心研制,性能國(guó)際領(lǐng)先,并成功量產(chǎn),打破了美國(guó)對(duì)我國(guó)的技術(shù)封鎖。處理器基于申威(SW-64)指令集,采用片上融合異構(gòu)眾核架構(gòu)和FCBGA3832封裝,單個(gè)處理器包含了260個(gè)運(yùn)算核心?!吧裢ぬ狻本哂惺澜珙I(lǐng)先水平的超大規(guī)模系統(tǒng)低功耗控制技術(shù)和高密度組裝,比目前世界排名第二的系統(tǒng)節(jié)能60%以上,單機(jī)倉(cāng)組裝密度居世界第一。
同時(shí),基于“神威·太湖之光”系統(tǒng)自主研發(fā)軟件,建立了基于申威CPU的高性能計(jì)算軟件生態(tài)鏈。目前“神威·太湖之光”計(jì)算系統(tǒng)開始應(yīng)用于四個(gè)關(guān)鍵領(lǐng)域:先進(jìn)制造業(yè)應(yīng)用(CFD、CAE)、地球系統(tǒng)建模和天氣預(yù)報(bào)、生物醫(yī)藥領(lǐng)域的計(jì)算、大數(shù)據(jù)分析。
2 分子對(duì)接軟件AutoDockVina
AutoDock是一款開源的分子模擬軟件,最主要應(yīng)用于執(zhí)行配體—蛋白分子對(duì)接[2~3]。它由Scripps研究所的Olson實(shí)驗(yàn)室開發(fā)與維護(hù),目前最新版本為AutoDock 4.2。AutoDockVina也是一款由MGL實(shí)驗(yàn)室開發(fā)的分子對(duì)接軟件。與AutoDock 4.0相比,AutoDockVina提高了結(jié)合模式預(yù)測(cè)的平均準(zhǔn)確度,通過(guò)使用更簡(jiǎn)單的打分函數(shù)加快了搜索速度,并且在處理約20個(gè)可旋轉(zhuǎn)鍵的體系時(shí)仍然能提供重現(xiàn)性較好的對(duì)接結(jié)果。
3 AutoDockVina在太湖之光上的編譯
“神威·太湖之光”計(jì)算系統(tǒng)采用基于Linux的神威Raise OS 2.0.5作為操作系統(tǒng),多核心處理器的基本軟件堆棧包括基本的編譯器組件,包括C、C++和Fortran編譯器。C語(yǔ)言,支持C99標(biāo)準(zhǔn)。C++語(yǔ)言,支持C++03標(biāo)準(zhǔn),并提供支持C++11標(biāo)準(zhǔn)的SWGCC編譯環(huán)境(從核不支持C++)。Fortran語(yǔ)言,支持Fortran2003標(biāo)準(zhǔn)中主要的功能,滿足實(shí)際課題需求。
第一步,下載AutoDockVina源碼[4]。從Scripps研究所的官網(wǎng)下載AutoDockVina源碼,最新的版本是1_1_2。
第二步,安裝Boost庫(kù)[5]。Boost庫(kù)是一個(gè)可移植、提供源代碼的C++庫(kù),作為標(biāo)準(zhǔn)庫(kù)的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開發(fā)引擎之一。下載版本1.41.0的Boost,使用“神威·太湖之光”的SWGCC編譯[6],編譯完成后運(yùn)行其中的例子,以確保Boost庫(kù)被正確的編譯。
第三步,編譯AutoDockVina。編輯AutoDockVina源碼中的Makefile,定義Boost的版本和路徑,指定編譯器為SWGCC。運(yùn)行Make,經(jīng)過(guò)一段時(shí)間后,編譯完成。
通過(guò)上述步驟,AutoDockVina被成功移植到了“神威·太湖之光”計(jì)算系統(tǒng)。
4 AutoDockVina在太湖之光上的測(cè)試
我們通過(guò)一個(gè)實(shí)例來(lái)測(cè)試編譯是否成功。從PDB[7]網(wǎng)站獲取蛋白質(zhì)結(jié)構(gòu)文件,我們下載了編號(hào)為3ik0蛋白結(jié)構(gòu)文件。使用OpenBabel[8]軟件把蛋白質(zhì)結(jié)構(gòu)文件和小分子結(jié)構(gòu)文件均轉(zhuǎn)化成pdbqt格式,編寫好vina運(yùn)行需要的config.txt文件?,F(xiàn)在可以開始分子對(duì)接了,利用“神威·太湖之光”上面的bsub作業(yè)提交系統(tǒng)運(yùn)行vina,經(jīng)過(guò)一段時(shí)間后,程序運(yùn)行結(jié)束,輸出了計(jì)算結(jié)果,結(jié)果文件中列出了9個(gè)結(jié)合自由能最低的模式。
我們的測(cè)試環(huán)境是一個(gè)CPU,主頻為1.5 GHz。一個(gè)CPU有4個(gè)核組。如果只用其中的一個(gè)核,運(yùn)行vina進(jìn)行3ik0蛋白分子對(duì)接的時(shí)間為14 min多一點(diǎn)點(diǎn)。如果四個(gè)核都用上,時(shí)間在220 s左右。
由于vina中采用了選擇隨機(jī)種子的方法,與x86機(jī)器上的運(yùn)行結(jié)果類似,在“神威·太湖之光”每一次輸出的結(jié)果也會(huì)不一樣。針對(duì)3ik0蛋白的分子對(duì)接,“神威·太湖之光”上面得到的最佳匹配模式對(duì)應(yīng)的結(jié)合自由能變化可以達(dá)到-8.5 kal/mol,這個(gè)結(jié)果與x86機(jī)器上的運(yùn)行結(jié)果也非常非常接近。
以上測(cè)試進(jìn)行了很多次,結(jié)果穩(wěn)定。測(cè)試結(jié)果表明,vina在“神威·太湖之光”上的運(yùn)算速度正常、運(yùn)算結(jié)果正確。
5 結(jié)語(yǔ)
該文的工作表明,AutoDockVina的移植工作取得了初步的成功,也說(shuō)明了“神威·太湖之光”兼容性非常好。然而我們的工作還沒(méi)有結(jié)束,后面我們還要進(jìn)行優(yōu)化工作,包括從核的利用,多CPU的運(yùn)行等。
參考文獻(xiàn)
[1] Fu Haohuan,J Liao,J Yang,et al.The Sunway Taihu Light supercomputer:system and applications[J].Science China Infromation Sciences,2016,59(7):1-16.
[2] Huey, R., Morris, G. M., Olson, A. J. ,et al.A semiempirical free energy force field with charge-based desolvation[J].Computational Chemistry,2007(28):1145-1152.
[3] Goodsell, D. S., Morris, G. M.,Olson, A. J..Automated docking of flexible ligands: applications of AutoDock[J].Journal of Molecular Recognition,1996(1):1-5.
[4] The current version is 1.1.2[EB/OL].(2011-05-11).http://vina.scripps.edu/download.html.
[5] Boost C++ Libraries[EB/OL].http://www.boost.org/.
[6] 國(guó)家超級(jí)計(jì)算無(wú)錫中心.神威﹒太湖之光系統(tǒng)并行程序設(shè)計(jì)指南[Z].
[7] A Structural View of Biology[EB/OL].http://www.rcsb.org/pdb/home/home.do.
[8] Open Babel:The Open Source Chemistry Toolbox[EB/OL].http://openbabel.org/wiki/Main_Page.