当前位置: 首页 > 专利查询>北京大学专利>正文

一种针对分子动力仿真模型的并行化加速方法技术

技术编号:21343701 阅读:35 留言:0更新日期:2019-06-13 22:32
本发明专利技术公布了一种针对分子动力仿真模型的并行化加速方法,属于并行计算技术领域,针对具有时间依赖性的分子动力系统数据计算任务,采用运行在众核架构、以GPU为协处理器的集群进行分子动力学模型的并行化计算加速,使得在集群计算性能相同时,能够自适应地找到一个最大的时间步长进行一次数据交换,从而实现模型运行速度的加速优化,使得在并行化计算过程中,并行化计算速度从每一个时间步执行一次数据交换提升到平均更多次执行一次数据交换。采用本发明专利技术技术方案,能够提高计算准确性,加快计算速度,减少数据传输的通信开销,提高众核GPU集群系统对于分子动力学仿真模拟的整体计算性能。

A Parallel Acceleration Method for Molecular Dynamics Simulation Model

The invention discloses a parallel acceleration method for molecular dynamics simulation model, which belongs to the field of parallel computing technology. Aiming at the time-dependent data computing task of molecular dynamics system, the parallel acceleration method of molecular dynamics model is implemented by a cluster running in a multi-core architecture and taking GPU as a coprocessor, so as to make it self-adaptive when the cluster computing performance is the same. We should find a maximum time step to exchange data once, so as to realize the accelerated optimization of the model running speed. In the process of parallel computing, the parallel computing speed is increased from one data exchange per time step to one data exchange per time step. By adopting the technical scheme of the invention, the accuracy of calculation can be improved, the calculation speed can be accelerated, the communication cost of data transmission can be reduced, and the overall calculation performance of multi-core GPU cluster system for molecular dynamics simulation can be improved.

【技术实现步骤摘要】
一种针对分子动力仿真模型的并行化加速方法
本专利技术属于并行计算
,涉及程序并行化加速方法,尤其涉及一种针对分子动力学仿真模型进行并行加速的方法。
技术介绍
分子动力学仿真是科学计算领域中非常重要的一部分,依靠牛顿力学,对分子运动状态进行模拟,经过大量的数值运算,得到一个系统整体的宏观特性。目前,分子动力学仿真技术的基本方法在高分子空间形态研究、蛋白质结构分析、湍流模拟、气象云图分析等领域均有很好的应用。但是,这种方法要求极大的计算量,普通计算机难以满足要求,通常需要用大型机甚至超级计算机来进行运算。分子动力学仿真是一种典型的时间依赖性问题。这种具有时间依赖性的科学计算问题,需要满足如下条件:X[t+dt]=f(X[t]),其中,X[t]是t时刻下的状态向量,f是由物理模型演算出的函数。因此,解决这类问题,大多需要进行大量的迭代运算。现有技术对这种迭代运算的并行化手段是,将状态向量X拆分成较小的部分状态向量Xp,将Xp的计算任务分配到p号处理器上,按照Xp[t+dt]=fp(X[t])进行数据处理。但是,这种并行化方法在数据更新时,需要同其他处理器进行同步操作,交换数据,再次计算。目前所有的众核或者带有GPU(GraphicsProcessingUnit,图形处理器)加速的集群系统,通过PCI(PeripheralComponentInterconnect,外部设备互连总线)进行数据交换的速度非常慢,在实际计算过程中,这种同步操作产生的通信开销约占整个执行时间的20%,大多数集群系统运算速度仅为每秒运行100~600个时间步。这样的速度对于分子动力学的仿真模拟是难以忍受的。同时,很多为科学计算特制的ASIC系统每秒可运行104~105步,但是对于大型集群来说很难实现低延迟、高带宽的网络通信。因此,制约这种迭代运算运行速度的主要因素是同步操作带来的通信延迟。在并行计算方面,目前较多采用BSP并行加速方法。并行化方法BSP是1990年英国科学家LeslieValiant提出的并行化方法(《Abridgingmodelforparallelcomputation,CommunicationsoftheACM》,Volume33Issue8,Aug.1990)。BSP模型是将全局的计算任务分成若干子任务,每个子任务分配到不同的处理器中,异步地进行计算,子任务完成计算后进入等待状态,系统进行全局检查与全局数据更新,当所有子任务都完成计算且全局数据更新后,每个子任务又继续进行下一步计算。因此,系统中执行较快的任务会等待执行最慢的任务,产生不必要的等待延迟,同时每完成一次异步计算就要传输数据,会产生大量的通信开销。专利申请(申请号201610311112.8)记载了结构材料辐照损伤的多GPU分子动力学模拟方法,是一套多GPU分子动力学模拟方法,主要解决多GPU计算问题,但是,该方法并没有考虑数据同步的问题,计算时间也较长。
技术实现思路
为了克服上述现有技术的不足,本专利技术提供一种针对分子动力仿真模型的并行化加速方法,将分子动力仿真模型运算并行化运行在众核架构,以GPU为协处理器的集群上,使得在并行化计算过程中,并行化计算速度从每一个时间步执行一次数据交换提升到平均更多次执行一次数据交换,由此达到并行化加速的目的。针对目前分子动力学中大量存在的迭代运算,已有处理框架无法很好地满足仿真模拟需求的问题,本专利技术采用运行在众核架构、以GPU为协处理器的集群上来解决分子动力学模型并行化计算加速,使得模型运行速度在集群计算性能相同的前提下,自适应地找到一个最大的时间步长进行一次数据交换,可从每一个时间步执行一次数据交换提升到平均每71个时间步(对于不同系统,不同计算任务,数据交换的平均时间步是不一样的,本专利技术可以自适应地找到一个保证计算精度前提下,最大的时间步长)进行一次数据交换,而系统性能的提升和集群的PCI速度,以及模型数据量的大小有密切关系,但与现有传统的BSP加速方式相比,能提升至少一倍的速度。本专利技术的原理是:将数据平均拆分成多分份,放到各处理器中独立处理多个时间步n(可根据实际情况,调整这一时间步)。然后进行同步操作,各处理器交换数据,如果计算结果不发生改变,则该计算结果是正确的迭代结果,继续进行下一轮迭代,再进行n步计算;如果计算结果发生改变,则该计算结果是错误的计算结果,回溯到上一步进行计算,直到计算结果不发生改变,方可继续进行下一轮迭代。该方案具有明显的循环性,同步时计算结果正确,则不回溯,如果错误,则需要退回重新开始计算。由于分子动力学模拟中,经常出现计算局部性,即计算量通常集中在某小范围的空间中,远处的数据对此处的计算没有明显影响,因此与传统BSP并行方案相比,本专利技术主要利用了这种计算局部性,并不会每次计算都进行数据同步,而是在较长的时间跨度中做一次数据同步,从而减少了集群在计算过程中因数据同步而产生的通信开销,降低了整个计算应用的运行时间。同时,每个时间跨度中,有一个纠错回溯的机制,避免了因为数据独立运算而导致的计算失真。本专利技术基于集群系统进行优化,硬件参数如下:1.交换机带宽100G,部分节点56G;2.服务器间老机器(A节点)40G,新机器100G;3.服务器间有千兆网络和IB网络,每台服务器均用IB网络挂载了存储设备;4.InfiniBand网络,MPI默认优先使用InfiniBand网络进行通信。本专利技术提供的技术方案是:一种针对分子动力仿真模型的并行化加速方法,针对具有时间依赖性的分子动力系统数据计算任务(例如LAMMPS(Large-scaleAtomic/MolecularMassivelyParallelSimulator,大规模原子分子并行模拟器)中提供的基本模型计算),基于集群系统进行加速优化,采用运行在众核架构、以GPU为协处理器的集群上来解决分子动力学模型并行化计算加速,使得模型运行速度在集群计算性能相同的前提下,自适应地找到一个最大的时间步长进行一次数据交换,从而实现加速优化;具体可采用MPI((Message-Passing-Interface,消息传递接口)进行节点间的计算并行化,采用CUDA(ComputeUnifiedDeviceArchitecture,统一计算设备架构)在单机上利用GPU进行并行加速(通过将数据平均拆分成多份,放到各处理器中独立处理一段时间步长,然后再进行同步操作,各处理器交换数据,直到计算结果不发生改变,得到正确的计算结果;再继续进行下一轮迭代计算);包括如下步骤:A.对计算任务进行拆分,执行如下操作:A1.记所有待计算的粒子数为N,存储每个粒子的状态信息数据为X,粒子标号从0到N-1,xi表示i号粒子的状态数据,集群中可用处理器核数为P,处理器标号从0到P-1,Pi表示第i号处理器;A2.将X个粒子平均分为P份,处理器Pi计算第(X/P*i)号粒子到(X/P*(i+1)-1)号粒子,当i=P-1时,处理器Pi计算第(X/P*i)号粒子到(X-1)号粒子。为在每个处理器中开辟两块存储空间,一块存储待计算粒子的状态数据记为M1,一块存储全局X个粒子的数据,记为M2;用Pi(M1)表示第i号处理器上待计算粒子的状态数据,集合mi表示在Pi(M1)本文档来自技高网
...

【技术保护点】
1.一种针对分子动力仿真模型的并行化加速方法,针对具有时间依赖性的分子动力系统数据计算任务,采用运行在众核架构、以GPU为协处理器的集群进行分子动力学模型的并行化计算加速,使得在集群计算性能相同时,能够自适应地找到一个最大的时间步长进行一次数据交换,从而实现模型运行速度的加速优化;包括如下步骤:A.对计算任务进行拆分,执行操作A1~A2:A1.记所有待计算的粒子数为N,存储每个粒子的状态信息数据为X,粒子标号从0到N‑1,xi表示i号粒子的状态数据,集群中可用处理器核数为P,处理器标号从0到P‑1,Pi表示第i号处理器;A2.将X个粒子平均分为P份,处理器Pi计算第(X/P*i)号粒子到(X/P*(i+1)‑1)号粒子;当i=P‑1时,处理器Pi计算第(X/P*i)号粒子到(X‑1)号粒子;在每个处理器中设置两块存储空间,一块用于存储待计算粒子的状态数据,记为M1;另一块用于存储全局X个粒子的数据,记为M2;用Pi(M1)表示第i号处理器上待计算粒子的状态数据,集合mi表示在Pi(M1)中存在的粒子,Pi(M2)表示第i号处理器上全体粒子的数据;B.执行异步计算操作,包括B1~B3:B1.设状态转移函数为式1:xi[t+dt]=f(x0[t],x1[t],x2[t]…xN‑1[t])  (式1)其中,xi[t]表示第i号粒子在t时间步的状态信息,dt为时间跨度,默认为1个单位的时间步;t初值为0;处理器Pi选择粒子集合mi,从Pi(M2)中取出粒子状态数据,代入状态转移函数,计算粒子集合mi在dt后的状态数据DATA;设定终止条件,当满足终止条件时计算完成,反之继续计算;B2.设置跨步计数器step,step=0;设置一块与Pi(M2)相等大小的新空间,记为Pi(M2)...

【技术特征摘要】
1.一种针对分子动力仿真模型的并行化加速方法,针对具有时间依赖性的分子动力系统数据计算任务,采用运行在众核架构、以GPU为协处理器的集群进行分子动力学模型的并行化计算加速,使得在集群计算性能相同时,能够自适应地找到一个最大的时间步长进行一次数据交换,从而实现模型运行速度的加速优化;包括如下步骤:A.对计算任务进行拆分,执行操作A1~A2:A1.记所有待计算的粒子数为N,存储每个粒子的状态信息数据为X,粒子标号从0到N-1,xi表示i号粒子的状态数据,集群中可用处理器核数为P,处理器标号从0到P-1,Pi表示第i号处理器;A2.将X个粒子平均分为P份,处理器Pi计算第(X/P*i)号粒子到(X/P*(i+1)-1)号粒子;当i=P-1时,处理器Pi计算第(X/P*i)号粒子到(X-1)号粒子;在每个处理器中设置两块存储空间,一块用于存储待计算粒子的状态数据,记为M1;另一块用于存储全局X个粒子的数据,记为M2;用Pi(M1)表示第i号处理器上待计算粒子的状态数据,集合mi表示在Pi(M1)中存在的粒子,Pi(M2)表示第i号处理器上全体粒子的数据;B.执行异步计算操作,包括B1~B3:B1.设状态转移函数为式1:xi[t+dt]=f(x0[t],x1[t],x2[t]…xN-1[t])(式1)其中,xi[t]表示第i号粒子在t时间步的状态信息,dt为时间跨度,默认为1个单位的时间步;t初值为0;处理器Pi选择粒子集合mi,从Pi(M2)中取出粒子状态数据,代入状态转移函数,计算粒子集合mi在dt后的状态数据DATA;设定终止条件,当满足终止条件时计算完成,反之继续计算;B2.设置跨步计数器step,step=0;设置一块与Pi(M2)相等大小的新空间,记为Pi(M2)step,根据状态数据DATA更新Pi(M1)和Pi(M2)step;更新step和t:step++...

【专利技术属性】
技术研发人员:陈一峯张明悦王贝
申请(专利权)人:北京大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1