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