版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、57高性能计算应用分子动力学软件GROMACS在GPU上的应用寇大治徐磊徐莹上海超级计算中心上海201203dzkou左光宏中科院上海应用物理研究所上海201800ghzuo摘要:伴随着高性能计算的发展,硬件在计算能力和功耗上的矛盾越来越突出,作为试图缓解这一问题的协处理和众核技术的代表,GPU在最近几年逐渐风靡全球。而分子动力学计算作为高性能计算的主要应用领域之一,一直备受人们的关注,GROMACS1正是分子动力学软件的主流代表之一。本文首先对GROMACS软件的GPU版本作业一些介绍,尤其是其与原CPU版本的区别做了一些解释。之后就利用了NVIDIA公司C2050型号GPU设备和上海超级计
2、算中心魔方”超级计算平台,就一些典型的分子动力学体系分别在GPU和CPU上进行了GROMACS软件的测试和比较,并对计算性能的区别进行了讨论。I.简介高性能计算发展到千万亿次时代之后,随着计算能力的提升,硬件功耗也以惊人的速度增长,为了解决能耗问题,人们开始转向协处理器和众核技术的研发,通过增加大量的计算单元和简化控制单元,可以使一些可向量化问题的解决能力得到极大的提高,同时很好的控制了能耗的增加。在这一思路的指引下,最近若干年,原本应用于图形处理的GPU设备被高性能业界推向了前台,利用其大量的图形处理单元来向量化的处理计算问题,这一方法得到了一定推广和应用。GROMACS是分子动力学通用软件
3、包,可以用于模拟包含几百到几百万粒子体系的牛顿运动方程,特别适用于生物分子,如蛋白质,油脂等有含有大量复杂健作用的体系,同时由于GROMACS在计算非键作用时(这实际上也占了模拟的主要部分相当快,因此也可广泛应用于非生物体系,如大分子聚合物。关于GROMACS的相关情况已经有过一些研究和测试2-3o本文将主要围绕GROMACS软件的GPU版本,以及其在GPU和CPU平台上的表现做出比较和评测,以期对该软件的使用有一个更全面的了解。2.测试环境1GPU计算环境:NVIDIATesla?C2050TeslaGPU的20系列产品家族基于代号为"Fermi"的下一代CUDA架构,支
4、持技术与企业计算所必备”的诸多特性,其中包括C+支持、可实现极高精度与可扩展性的ECC存储器以及7倍于Tesla10系列GPU的双精度性能。Tesla?C2050与C2070GPU旨在重新定义高性能计算并实现超级计算的平民化,表1概述了其各方面的一些特性。与最新的四核CPU相比,TeslaC2050与C2070计算处理器以十分之一的成本和二十分之一的功耗即可实现同等超级计算性能。本文测试采用的CUDAtoolkit的版本为3.2RC。表1Tesla?C2050与C2070GPU的一些特性基于新一代FermiCUDA架构的GPU与基于最新四核CPU的纯CPU系统相比,该GPU以十分之一的成本和二
5、十分之一的功耗即可实现同等的集群性能448个CUDA核心每颗GPU最高可实现515Gigaflop双精度峰值性能,从而让一台工作站即可实现Teraflop级甚至更高的性能。每颗GPU的单精度峰值性能超过1Teraflop。58高性能计算发展与应用2011年第二期总第三十五期ECC存储器能够满足工作站计算精度与可靠性方面的关键需求。能够为存储器中的数据提供保护功能,从而为应用程序增强数据完整性和可靠性。寄存器文件、L1/L2高速缓存、共享存储器以及DRAM均受ECC的保护。台式机上的集群性能与一个小型服务器集群相比,配备多颗GPU的单台工作站能够更快地解决大型难题。每颗GPU最多配备6GBGDD
6、R5存储器更大的数据集能够保存在直接附属于GPU的本地存储器上,从而实现了性能的最大化并减少了数据传输的情况。NVIDIA?(英伟达?并行DataCache?能够为物理效果解算器、光线追踪以及稀疏矩阵乘法等诸多算法加速,在这些算法中,数据地址事先都是未知的。每个流式多处理器模块均包含一个可配置的L1高速缓存,所有处理器核心使用统一的L2高速缓存。NVIDIA?(英伟达?GigaThread?引擎通过多项技术实现了吞吐量的最大化,其中包括10倍于上一代架构的高速上下文切换、并发内核执行以及改良的线程块调度。异步传输计算核心在PCIe总线上传输数据的同时还能够处理其它数据,因而增强了系统性能。即便
7、是地震处理这类需要大量数据传输的应用程序,也能够通过事先将数据传输至本地存储器的方法来最大限度提升计算效率。CUDA编程环境受到各种编程语言与API的广泛支持开发人员无论选择C语言、C+、OpenCL、DirectCompute还是选择Fortran语言,都能够实现应用程序的并行机制,进而利用“Fermi”GPU创新架构。MicrosoftVisualStudio开发人员可以使用NVIDIA?(英伟达?ParallelNsight工具。高速PCIeGen2.0数据传输率实现了主系统与Tesla处理器之间带宽的最大化。让Tesla系统能够应用于几乎所有具备一条开放式PCIex16插槽且符合PCI
8、e规范的主系统。2CPU计算环境:AMDOpteron?8347CPU上的测试工作主要是在上海超级计算中心魔方超级计算平台上完成的,使用了魔方高性能计算平台的胖节点,采用了Quad-CoreAMDOpteron?-8347/Barcelona处理器,每一个计算节点为八路四核心,单核心频率1.9GHz,L22M,L32M,busspeed1000MHz,单节点采用4GB*32根,共计128GBddr2667MHz内存。测试的软件环境包括,操作系统为SUSELinuxEnterpriseDesktop11(x86_64,VERSION=11,PATCHLEVEL=1(kernel:2.6.32.1
9、2-0.7-default,gccversion4.3.4gcc-4_3-branchrevision152973(SUSELinux。同时GROMACS使用了fftw-3.2.2数学库4,cmake-2.8.2和openmm2.0。3.GPU版本的GROMACS对计算的支持情况分子动力学算法(Integrators:可供选项有:md/md-vv/md-vv-avek,sd/sd1和bd。需要指出的是,分子动力学OpenMM库中只提供了velocity-verlet算法,所以在实际的运行过程中,选项md,md-vv,md-vv-avek没有区别,同样sd与sd1也没有区别。另外需要注意的是虽然
10、选项md是可用的,但是对于GPU版本的GROMACS选择了md不再是使用蛙跳算法了。(注:蛙跳算法是一种优化的分子动力学算法。在CPU版本的GROMACS上md对应的是蛙跳算法。长程相互作用(Long-rangeinteractions:可供选项有:Reaction-Field,Ewald,PME,No-cutoff,Cut-off。需要使用No-cutoff时,请设置rcoulomb=0和rvdw=0。Ewald方法只支持3D几何2构,偶极矩的校正不再支持。(这个选项不是很常用,一般使用PME方法Cut-off方法只支持隐式水模型的模拟。温度控制(Temperaturecontrol:只在i
11、ntegrator的选项为sd/sd1,bd,md/md-vv/md-vv-avek的情况支持。OpenMM库只使用Andersen热浴算法。也就是说GPU版本的GROMACS,选用任何tcoupl,都是使用Andersen热浴算法,使用不同的组来分开设置其平衡温度的做法不再支持,而且在使用中需设置tc-grps=Systemo力场(Forcefields:支持的力场包括AMBER与CHARMM。而GROMOS与OPLS-AA力场不支持。且在CHARMM力场中二面角CMAP算法也不支持,所以在使用pdb2gmx时,需要使用-nocmap选项。隐式水模型(Implicitsolvent:只有在库
12、仑相互作用力(即参数coulombtype设置为reaction-field的情况下才可使用。对于GB模型,只支持OBC算法,且对于GB模型中的一些参数,也被编译到了程序之中,不能修改。具体的59高性能计算应用参数与其值为:obcalpha=1,obcbeta=0.8以及obcgamma=4.8S局部固定(Constraints:在OpenMM库中,局部固定由SHAKE,SETTLE与CCMA结合而实现。局部控制的精度由SHAKE强度面控制,即由设置参数shake_tol控制。周期性边界条件(PeriodicBoundaryConditions:只支持正方盒子下的pbc=xyz与pbc=no两
13、种情况。压强控制(Pressurecontrol:OpenMM使用蒙特卡洛德压算法。所有的pcouple参数都能接受。模拟退火(Simulatedannealing:不支持。拉拽算法(Pulling:不支持。局部限制(Restraints:无论是距离、方向、角度还是二面角的限制均暂不支持。(注:restraint与前面的constraint不同之处是,restraint是将这些值固定在一个范围内,而constrain是将其固定在某一个值。自由能计算(Freeenergycalculations:暂不支持。空间势能限制(Walls:不支持。非平衡分子动力学(Non-equilibriumMD:不
14、支持acc_grps选项。空间电场(ElectricFields:不支持。混合量子力学与分子力学(QMMM:不支持。4.测试方法Gromacs从4.5版本开始支持GPU加速的分子动力学模拟,GPU部分的计算使用了斯坦福大学生物医学计算研究中心(SimbiosNIHCenterforBiomedicalComputationatStanford的OpenMM库的加速支持,Gromacs和OpenMM两个部分均是开源的。当前Gromacs对GPU的计算只能少部分的支持,同时在已经支持的领域内也不是全部都能获得很好的加速效果,例如,本文同时测试了针对GPU有良好加速性能的隐式解法体系和针对GPU加速
15、效果并不是很好的考虑长程相互作用的PME方法体系。在硬彳上,当前版本的Gromacs仅支持NVIDIA公司的GPU硬件,并需要CUDA环境的支持,同时不能支持多GPU卡的并行计算。本文的测试工作采用了Gromacs4.5.1并使用了两个典型的GROMACSGPU测试用例:dhfr-impl-inf和dhfr-solv-PME,前者为隐式解法的体系,因为没有全局的相互作用而有非常好的并行加速效果,后者为考虑了长程相互作用的PME方法体系。测试结果给出平台每天可完成的分子动力学步数(ns/day/t内秒每天为单位,越大越优。5.测试结果与分析表2给出了两个计算体系在不同的硬件环境下的性能比较,测试
16、结果的每个数据都是从5次以上的重复测试中选出的最优值,其中CPU上分别采用了从1个到32个线程的测试计算,GPU上分别采用了ECC校验打开和关闭的测试计算。另外在图1中分别给出了两个计算体系在不同的计算条件下的计算能力对照柱状图。表3给出的是两个计算体系在不同的硬件环境下的加速比,对应的在图2中分别给出了两个计算体系在不同的计算条件下的加速对照柱状图。表2两个计算体系在不同的CPU线程和GPU上的性能比较ns/dayCPUGPU1481632ECC/onECC/offinf0.7282.8945.4389.28614.16069.05075.842PME0.9364.1307.78314.51
17、324.5259.82510.722表3两个计算体系在不同的CPU线程和GPU上的加速比ns/dayCPUGPU1481632ECC/onECC/offinf13.987.4712.7619.4594.85104.18PME14.418.3215.5126.2010.5011.4660高性能计算发展与应用2011年第二期总第三十五期图1两个计算体系在不同的CPU线程和GPU上的性能对照柱状图图2两个计算体系在不同的CPU线程和GPU上的加速对照柱状图由表2、3和图1、2可以看到两个不同特点的计算体系表现出了不同的计算效果。正如之前对计算体系的介绍,对于inf体系,因为是隐式解法的体系,没有全局
18、的相互作用,表现出了非常好的并行加速效果,尤其在GPU上表现出非常出众的加速比,在ECC校验关闭的情况下甚至达到了一百倍以上的加速效果。而对于PME体系,其全局通信的计算需求使GPU上的计算效果表现平平,只表现出十倍的加速效果,这一计算能力只是略优于CPU在8线程的情况。6.结论本文就分子动力学软件GROMACS在GPU上的应用做了介绍,到目前为止,与传统的CPU版本相比,GPU版本还有很多特性得不到支持,另外有一些参数的设置甚至和CPU版本有一些差异,这可能会影响到GROMACS-GPU应用的推广。另外,本文就两个有代表的计算进行了跨平台的测试,在全局通信较少的体系在GPU上表现出了较好的加速效果,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社区建设交互协议书
- 2024年12月大学英语六级考试真题第2套(含答案)
- 2026年高端鲜花定制公司费用报销管理制度
- 装修公司设计师工作规范
- 器械训练教学讲解
- 环境描写片断训练
- 2025-2026学年安徽省百师联盟高三上学期9月调研考试历史试题
- 2024-2025学年天津市津南区部分学校高一上学期11月期中联考地理试题(解析版)
- 2024-2025学年江苏省南京市高一上学期期末考试历史试题(解析版)
- 作业设计汇报展示
- 装修公司施工制度总则参考
- 初中英语比较级和最高级专项练习题含答案
- 水文比拟法估算年径流量举例 (1)讲解
- 商务宴请的点菜技巧课件
- 软件开发chapter3(软件分析与设计CASE工具)
- 低压柜试验报告
- 单招协议培训
- 扑克牌搭高塔 课件(16张PPT) 小学班会活动
- 2023学年完整公开课版插座安装
- 医疗机构麻醉药品和精神药品的使用管理
- GB/T 3672.1-2002橡胶制品的公差第1部分:尺寸公差
评论
0/150
提交评论