高军晖+管哲人+刘钊+钟盈福+高竹+魏冬青
摘 要:“神威·太湖之光”计算系统是我国第一台全部采用国产处理器构建的超级计算机,AutoDockVina是一款由MGL实验室开发的分子对接软件。该文论述分子对接软件AutoDockVina在太湖之光操作系统上的移植工作,包括AutoDockVina在“神威·太湖之光”上的编译过程、测试过程和今后的工作方向。测试结果表明,vina在“神威·太湖之光”上的运算速度正常、运算结果正确,表明我们的移植工作取得了初步的成功。
关键词:AutoDockVina 神威·太湖之光 软件移植 编译 测试
中图分类号:TP391 文献标识码:A 文章编号:1674-098X(2016)08(b)-0089-02
1 “神威·太湖之光”计算系统
“神威·太湖之光”计算系统是国家“863计划”重大专项研究成果,是我国第一台全部采用国产处理器构建的超级计算机,由国家并行计算机工程技术研究中心研制[1]。在2016年6月20日世界TOP500超级计算机排名中,“神威·太湖之光”系统峰值运算性能(125.436PFlops)、持续运算性能(93.015PFlops)、性能功耗比(6.05GFlops/W)三项关键指标均位居世界第一。
“神威·太湖之光”计算系统共包含了40 960个“申威26010”众核处理器。“申威26010”是由国家“核高基”重大专项支持的我国第一款自主研发的众核处理器,由国家高性能集成电路设计中心研制,性能国际领先,并成功量产,打破了美国对我国的技术封锁。处理器基于申威(SW-64)指令集,采用片上融合异构众核架构和FCBGA3832封装,单个处理器包含了260个运算核心。“神威·太湖之光”具有世界领先水平的超大规模系统低功耗控制技术和高密度组装,比目前世界排名第二的系统节能60%以上,单机仓组装密度居世界第一。
同时,基于“神威·太湖之光”系统自主研发软件,建立了基于申威CPU的高性能计算软件生态链。目前“神威·太湖之光”计算系统开始应用于四个关键领域:先进制造业应用(CFD、CAE)、地球系统建模和天气预报、生物医药领域的计算、大数据分析。
2 分子对接软件AutoDockVina
AutoDock是一款开源的分子模拟软件,最主要应用于执行配体—蛋白分子对接[2~3]。它由Scripps研究所的Olson实验室开发与维护,目前最新版本为AutoDock 4.2。AutoDockVina也是一款由MGL实验室开发的分子对接软件。与AutoDock 4.0相比,AutoDockVina提高了结合模式预测的平均准确度,通过使用更简单的打分函数加快了搜索速度,并且在处理约20个可旋转键的体系时仍然能提供重现性较好的对接结果。
3 AutoDockVina在太湖之光上的编译
“神威·太湖之光”计算系统采用基于Linux的神威Raise OS 2.0.5作为操作系统,多核心处理器的基本软件堆栈包括基本的编译器组件,包括C、C++和Fortran编译器。C语言,支持C99标准。C++语言,支持C++03标准,并提供支持C++11标准的SWGCC编译环境(从核不支持C++)。Fortran语言,支持Fortran2003标准中主要的功能,满足实际课题需求。
第一步,下载AutoDockVina源码[4]。从Scripps研究所的官网下载AutoDockVina源码,最新的版本是1_1_2。
第二步,安装Boost库[5]。Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。下载版本1.41.0的Boost,使用“神威·太湖之光”的SWGCC编译[6],编译完成后运行其中的例子,以确保Boost库被正确的编译。
第三步,编译AutoDockVina。编辑AutoDockVina源码中的Makefile,定义Boost的版本和路径,指定编译器为SWGCC。运行Make,经过一段时间后,编译完成。
通过上述步骤,AutoDockVina被成功移植到了“神威·太湖之光”计算系统。
4 AutoDockVina在太湖之光上的测试
我们通过一个实例来测试编译是否成功。从PDB[7]网站获取蛋白质结构文件,我们下载了编号为3ik0蛋白结构文件。使用OpenBabel[8]软件把蛋白质结构文件和小分子结构文件均转化成pdbqt格式,编写好vina运行需要的config.txt文件。现在可以开始分子对接了,利用“神威·太湖之光”上面的bsub作业提交系统运行vina,经过一段时间后,程序运行结束,输出了计算结果,结果文件中列出了9个结合自由能最低的模式。
我们的测试环境是一个CPU,主频为1.5 GHz。一个CPU有4个核组。如果只用其中的一个核,运行vina进行3ik0蛋白分子对接的时间为14 min多一点点。如果四个核都用上,时间在220 s左右。
由于vina中采用了选择随机种子的方法,与x86机器上的运行结果类似,在“神威·太湖之光”每一次输出的结果也会不一样。针对3ik0蛋白的分子对接,“神威·太湖之光”上面得到的最佳匹配模式对应的结合自由能变化可以达到-8.5 kal/mol,这个结果与x86机器上的运行结果也非常非常接近。
以上测试进行了很多次,结果稳定。测试结果表明,vina在“神威·太湖之光”上的运算速度正常、运算结果正确。
5 结语
该文的工作表明,AutoDockVina的移植工作取得了初步的成功,也说明了“神威·太湖之光”兼容性非常好。然而我们的工作还没有结束,后面我们还要进行优化工作,包括从核的利用,多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]国家超级计算无锡中心.神威﹒太湖之光系统并行程序设计指南[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.