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

超级计算机平台上的分子动力学模拟短程力并行优化方法技术

技术编号:24942070 阅读:25 留言:0更新日期:2020-07-17 21:51
本公开提供了一种超级计算机平台上的分子动力学模拟短程力并行优化方法,将分子动力学应用中的多个相邻粒子放在一个组中,形成一个粒子包,实现数据聚集;确认缓存是否命中,如果缓存命中,只更新写缓存中的作用力数据,如果缓存未命中,把相应行中的原始数据放到主核内存中,并从主核内存中的获取需要的缓存行的数据,进行作用力数据的更新,并利用从核在其副本中记录每个缓存行的更新状态;将粒子包中的不同粒子的相同的位置元素改为连续,每个从核在主存中保留临时内存以存储由相应从核计算的邻居列表,将通过收集所有这些邻居列表来形成邻接表,将不同从核的邻居列表作为配对列表连接,完成优化。

【技术实现步骤摘要】
超级计算机平台上的分子动力学模拟短程力并行优化方法
本公开属于分子动力学模拟优化
,涉及一种超级计算机平台上的分子动力学模拟短程力并行优化方法。
技术介绍
本部分的陈述仅仅是提供了与本公开相关的
技术介绍
信息,不必然构成在先技术。GROMACS是一个非常流行的分子动力学应用,主要用于模拟蛋白质、脂质和核酸等生物分子之间存在着的复杂化学键和键合相互作用。由于GROMACS提供了极好的非键合作用力模拟能力,越来越多的研究组织开始使用GROMACS模拟聚合物等非生物分子体系。GROMACS支持几乎所有常见的分子动力学模拟算法,并且具有高性能,易用,开源,辅助工具丰富等特点,使其成为了分子动力学应用的佼佼者之一。长期以来,人们迫切希望在超级计算机上加速GROMACS。但是,对于异构众核的超级计算机来说,一般主核与单个从核的计算能力相当,而主核与从核阵列相比计算能力较弱;其次对于小数据量的访存来说,直接内存访问的带宽较低;相比于传统CPU,从核没有缓存架构,每个从核的局部存储空间非常小,这些都构成了将GROMACS移植到超级计算机平台上的诸多限制。
技术实现思路
本公开为了解决上述问题,提出了一种超级计算机平台上的分子动力学模拟短程力并行优化方法,本公开能够把分子动力学应用GROMACS在超级计算机平台上进行加速,且具有很好的性能和扩展性。根据一些实施例,本公开采用如下技术方案:一种超级计算机平台上的分子动力学模拟短程力并行优化方法,包括:将分子动力学应用中的多个相邻粒子放在一个组中,形成一个粒子包,实现数据聚集;将索引ID分解,将缓存行的标记与原始行的标记进行比较,如果相同,则缓存命中,如果该标记与原始标记不同,则缓存未命中;计算位置的标签和缓存行,如果缓存命中,只更新写缓存中的作用力数据,如果缓存未命中,把相应行中的原始数据放到主核内存中,并从主核内存中的获取需要的缓存行的数据,进行作用力数据的更新,并利用从核在其副本中记录每个缓存行的更新状态;将粒子包中的不同粒子的相同的位置元素改为连续,每个从核在主存中保留临时内存以存储由相应从核计算的邻居列表,将通过收集所有这些邻居列表来形成邻接表,将不同从核的邻居列表作为配对列表连接,完成优化。作为可选择的实施方式,在分子动力学应用中,每四个相邻粒子放在一个组中,并且总是同时计算同一组中的粒子,将四个粒子的所有数据集中在一个结构中,称之为一个粒子包。作为可选择的实施方式,缓存是否命中以平均内存访问时间作为衡量标准。作为可选择的实施方式,将局部设备内存中的部分空间作为读缓存,使用直接映射缓存策略,将缓存行号和缓存行的长度设为2的幂数。作为可选择的实施方式,将索引ID分解为标签号,行号和偏移号,标签号表示主核中缓存行的唯一ID,行号是从核中的缓存行索引,偏移数是缓存行中粒子的地址,将缓存行的标记与原始行的标记进行比较,如果它们相同,则意味着缓存行命中,如果该标记与原始标记不同,则缓存未命中。作为可选择的实施方式,如果缓存未命中,从核更新主存中的作用力并获取主存中该粒子的作用力。作为可选择的实施方式,如果缓存未命中,让每个从核维护一定大小的局部存储作为更新缓冲,用来累积每个粒子的受力变化,在更新缓冲区中,每个粒子都将映射到一个特定的地址,每个粒子的作用力变化将首先累积在更新缓冲区而不是直接在主存中更新,主存中作用力的更新只会占用更新缓冲区中的一个粒子被另一个粒子替换的时间,实现延迟更新。作为可选择的实施方式,如果缓存未命中,将相应缓存行中的原始数据放到主核内存中,并从主核内存中的获取所需要的缓存行的数据,然后更新。作为可选择的实施方式,使用直接映射缓存方法实现延迟更新。作为可选择的实施方式,将外循环中的每个粒子包向量化并与内循环中的粒子进行短程力的计算。一种超级计算机平台上的分子动力学模拟短程力并行优化系统,包括:数据聚集模块,被配置为将分子动力学应用中的多个相邻粒子放在一个组中,形成一个粒子包,实现数据聚集;读取模块,被配置为将索引ID分解,将缓存行的标记与原始行的标记进行比较,如果相同,则缓存命中,如果该标记与原始标记不同,则缓存未命中;更新模块,被配置为计算位置的标签和缓存行,如果缓存命中,只更新写缓存中的作用力数据,如果缓存未命中,把相应行中的原始数据放到主核内存中,并从主核内存中的获取需要的缓存行的数据,进行作用力数据的更新,并利用从核在其副本中记录每个缓存行的更新状态;加速邻接表生成模块,被配置为将粒子包中的不同粒子的相同的位置元素改为连续,每个从核在主存中保留临时内存以存储由相应从核计算的邻居列表,将通过收集所有这些邻居列表来形成邻接表,将不同从核的邻居列表作为配对列表连接,完成优化。一种超级计算机平台,包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的分子动力学模拟短程力并行优化方法的步骤。与现有技术相比,本公开的有益效果为:本公开通过数据聚合来加速短程力计算,减少了受内存访问带宽的限制;本公开通过写缓存和读缓存方式,能够降低缓存未命中率,同时提高了每个核组的DMA带宽,向量化优化减少了计算时间并将计算速度从缓存版本增加近2倍,同时通过更新标记减少了大量无意义的传输。附图说明构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。图1是“申威26010”架构图;图2是GROMACS中使用的算法过程示意图;图3是得到的粒子包示意图;图4是短程力计算期间的读取缓存操作示意图;图5是延迟更新过程示意图;图6是归约过程示意图;图7是数据布局已更改为相同的位置元素连续示意图;图8是转换运算的示意图;图9是配对列表连接过程示意图;图10是对比例示意图;图11是不同优化的表现示意图;图12是弱扩展性和强扩展性示意图。具体实施方式:下面结合附图与实施例对本公开作进一步说明。应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属
的普通技术人员通常理解的相同含义。需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。在本实施例中,以神威·太湖之光”计算机系统作为超级计算机平台为例进行说明。“申威26010”异构众核处理器是由中国自主技术研制,采用64位自主申威本文档来自技高网
...

【技术保护点】
1.一种超级计算机平台上的分子动力学模拟短程力并行优化方法,其特征是:包括:/n将分子动力学应用中的多个相邻粒子放在一个组中,形成一个粒子包,实现数据聚集;/n将索引ID分解,将缓存行的标记与原始行的标记进行比较,如果相同,则缓存命中,如果该标记与原始标记不同,则缓存未命中;/n计算位置的标签和缓存行,如果缓存命中,只更新写缓存中的作用力数据,如果缓存未命中,把相应行中的原始数据放到主核内存中,并从主核内存中的获取需要的缓存行的数据,进行作用力数据的更新,并利用从核在其副本中记录每个缓存行的更新状态;/n将粒子包中的不同粒子的相同的位置元素改为连续,每个从核在主存中保留临时内存以存储由相应从核计算的邻居列表,将通过收集所有这些邻居列表来形成邻接表,将不同从核的邻居列表作为配对列表连接,完成优化。/n

【技术特征摘要】
1.一种超级计算机平台上的分子动力学模拟短程力并行优化方法,其特征是:包括:
将分子动力学应用中的多个相邻粒子放在一个组中,形成一个粒子包,实现数据聚集;
将索引ID分解,将缓存行的标记与原始行的标记进行比较,如果相同,则缓存命中,如果该标记与原始标记不同,则缓存未命中;
计算位置的标签和缓存行,如果缓存命中,只更新写缓存中的作用力数据,如果缓存未命中,把相应行中的原始数据放到主核内存中,并从主核内存中的获取需要的缓存行的数据,进行作用力数据的更新,并利用从核在其副本中记录每个缓存行的更新状态;
将粒子包中的不同粒子的相同的位置元素改为连续,每个从核在主存中保留临时内存以存储由相应从核计算的邻居列表,将通过收集所有这些邻居列表来形成邻接表,将不同从核的邻居列表作为配对列表连接,完成优化。


2.如权利要求1所述的一种超级计算机平台上的分子动力学模拟短程力并行优化方法,其特征是:在分子动力学应用中,每四个相邻粒子放在一个组中,并且总是同时计算同一组中的粒子,将四个粒子的所有数据集中在一个结构中,我们称之为一个粒子包。


3.如权利要求1所述的一种超级计算机平台上的分子动力学模拟短程力并行优化方法,其特征是:缓存是否命中以平均内存访问时间作为衡量标准。


4.如权利要求1所述的一种超级计算机平台上的分子动力学模拟短程力并行优化方法,其特征是:将局部设备内存中的部分空间作为读缓存,使用直接映射缓存策略,将缓存行号和缓存行的长度设为2的幂数。


5.如权利要求1所述的一种超级计算机平台上的分子动力学模拟短程力并行优化方法,其特征是:将索引ID分解为标签号,行号和偏移号,标签号表示主核中缓存行的唯一ID,行号是从核中的缓存行索引,偏移数是缓存行中粒子的地址,将缓存行的标记与原始行的标记进行比较,如果它们相同,则意味着缓存行命中,如果该标记与原始标记不同,则缓存未命中。


6.如权利要求1所述的一种超级计算机平台上的分子动力学模拟短程力并行优化方法,其特征是:如果缓存未命中,从核更新主存中的作...

【专利技术属性】
技术研发人员:刘卫国邵明山张庭坚
申请(专利权)人:山东大学
类型:发明
国别省市:山东;37

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

1