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

基于神威架构的宇宙N体数值模拟优化方法及系统技术方案

技术编号:24757264 阅读:69 留言:0更新日期:2020-07-04 09:24
本发明专利技术提供了一种基于神威架构的宇宙N体数值模拟优化方法及系统。其中,该方法包括将同一目标进程的宇宙粒子数据打包且一次性传输至主核的相应进程,以分离MPI通信过程与宇宙N体数值模拟计算过程;在主核中将各个相同目标进程的宇宙粒子数据形成各个粒子对应的粒子包并按照数字形式从小到大逐个标记各个粒子包的ID值;构建任务列表,每个任务对应一对粒子包,将任务列表中的所有任务平均分配至各个从核上,保证各个从核的负载均衡;在各个从核上利用多项式来拟合erfc函数和exp函数,利用拟合的erfc函数和exp函数求解各个任务中每对粒子的相互作用力,得到从核计算结果;将各个从核计算结果均上传至主核进行汇总,实现宇宙N体的数值模拟。

Optimization method and system of space N-body numerical simulation based on Shenwei architecture

【技术实现步骤摘要】
基于神威架构的宇宙N体数值模拟优化方法及系统
本专利技术属于数值模拟优化领域,尤其涉及一种基于神威架构的宇宙N体数值模拟优化方法及系统。
技术介绍
本部分的陈述仅仅是提供了与本专利技术相关的
技术介绍
信息,不必然构成在先技术。PhotoNs-2.0是国家天文台开发的一款宇宙N体数值模拟的软件,用于解决空间大尺度结构的形成演化,进而帮助研究包括宇宙物质分布、星系形成以及暗物质和能量等问题的本质,在神威超算平台上的移植和应用具有重要的意义。在模拟粒子动力学系统中,每个粒子在物理力的影响下与所有其他粒子相互作用。对于物理力的计算都需要进行长程力和短程力的计算。在本软件中物理力的计算采用PM(ParticleMeshmethod)和FMM(FastMultipoleMethod)相结合的方式。其中PM是指粒子网格算法,被用于长程引力的计算;FMM是指快速多极子算法,被用于短程引力的计算。“神威·太湖之光”是计算速度世界第三的超级计算机,也是目前国内计算速度最快的超级计算机。这样的计算机应当充分应用于科研及生产的各个领域,才能最大程度的体现出他的价值。“神威·太湖之光”搭载的是国家完全自主设计的“申威26010”众核处理器,具有不同于Intel及AMD等处理器的独特架构。“申威26010”处理器含有1个主核和1个从核阵列,从核阵列共有64个从核组成,按8*8的方式分布,每个从核的性能同主核基本相同,且每个从核都有自己的局部存储器(LDM),每个LDM大小为64K,从核访问LDM的效率等同于主核访问L2Cache的效率。神威架构支持Fortran、C、C++编程语言,但是要同时使用主从核进行程序加速,需要用到神威自主设计的Athread加速线程库和SIMD扩展线程库。专利技术人发现,PhotoNs-2.0代码在神威平台上的初始移植版本的性能表现欠佳,其没有充分利用硬件资源,造成硬件资源浪费,且宇宙N体数值模拟速度慢的问题。
技术实现思路
为了解决上述问题,本专利技术提供一种基于神威架构的宇宙N体数值模拟优化方法及系统,其能够充分利用神威架构的硬件资源,提高宇宙N体的数值模拟速度。为了实现上述目的,本专利技术采用如下技术方案:本专利技术的第一方面提供一种基于神威架构的宇宙N体数值模拟优化方法,包括:将同一目标进程的宇宙粒子数据打包且一次性传输至主核的相应进程,以分离MPI通信过程与宇宙N体数值模拟计算过程;在主核中将各个相同目标进程的宇宙粒子数据形成各个粒子对应的粒子包并按照数字形式从小到大逐个标记各个粒子包的ID值;构建任务列表,每个任务对应一对粒子包,将任务列表中的所有任务平均分配至各个从核上,保证各个从核的负载均衡;在各个从核上利用多项式来拟合erfc函数和exp函数,利用拟合的erfc函数和exp函数求解各个任务中每对粒子的相互作用力,得到从核计算结果;将各个从核计算结果均上传至主核进行汇总,实现宇宙N体的数值模拟。本专利技术的第二方面提供一种基于神威架构的宇宙N体数值模拟优化系统,包括:通信模块,其用于将同一目标进程的宇宙粒子数据打包且一次性传输至主核的相应进程,以分离MPI通信过程与宇宙N体数值模拟计算过程;粒子包ID标记模块,其用于在主核中将各个相同目标进程的宇宙粒子数据形成各个粒子对应的粒子包并按照数字形式从小到大逐个标记各个粒子包的ID值;任务平均分配模块,其用于构建任务列表,每个任务对应一对粒子包,将任务列表中的所有任务平均分配至各个从核上,保证各个从核的负载均衡;从核计算结果获取模块,其用于在各个从核上利用多项式来拟合erfc函数和exp函数,利用拟合的erfc函数和exp函数求解各个任务中每对粒子的相互作用力,得到从核计算结果;从核计算结果汇总模块,其用于将各个从核计算结果均上传至主核进行汇总,实现宇宙N体的数值模拟。本专利技术的有益效果是:本专利技术将同一目标进程的宇宙粒子数据打包且一次性传输至主核的相应进程,以分离MPI通信过程与宇宙N体数值模拟计算过程,优化后的通信并不存在各进程相互等待的时间,从而进一步提高了通信的效率。本专利技术将任务列表中的所有任务平均分配至各个从核上,保证各个从核的负载均衡,解决了从核上的负载均衡问题,也解决了从核间的写冲突问题。本专利技术在各个从核上利用多项式来拟合erfc函数和exp函数,利用拟合的erfc函数和exp函数求解各个任务中每对粒子的相互作用力,得到从核计算结果,使用函数拟合的形式,在达到极高的计算精度的同时,也能够使用向量化的方式极大的提高多项式计算的速度,经过模拟函数的优化后,从核函数解决了频繁访问主存的问题,使得从核计算的效果的到了极大的性能提升。附图说明构成本专利技术的一部分的说明书附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。图1是本专利技术实施例提供的一种基于神威架构的宇宙N体数值模拟优化方法流程图;图2(a)是本专利技术实施例提供的通信与计算混杂的情况;图2(b)是本专利技术实施例提供的通信与计算分离的情况;图3(a)是本专利技术实施例提供的原MPI通信流程;图3(b)是本专利技术实施例提供的减少MPI通信空的通信流程;图4是本专利技术实施例提供的I粒子任务会被分配到两个从核上的情况;图5是本专利技术实施例提供的exp拟合函数和exp库函数的计算结果对比图;图6是本专利技术实施例提供的erfc拟合函数和erfc库函数的计算结果对比图;图7是本专利技术实施例提供的原程序及各优化版本在8进程、64进程、512进程情况加速比图;图8是本专利技术实施例提供的一种基于神威架构的宇宙N体数值模拟优化系统结构示意图。具体实施方式下面结合附图与实施例对本专利技术作进一步说明。应该指出,以下详细说明都是例示性的,旨在对本专利技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本专利技术所属
的普通技术人员通常理解的相同含义。需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本专利技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。实施例1图1给出了本实施例的一种基于神威架构的宇宙N体数值模拟优化方法流程图。下面结合图1给出本实施例的基于神威架构的宇宙N体数值模拟优化方法的具体实施过程。如图1所示,本实施例的一种基于神威架构的宇宙N体数值模拟优化方法,包括:步骤S101:将同一目标进程的宇宙粒子数据打包且一次性传输至主核的相应进程,以分离MPI通信过程与宇宙N体数值模拟计算过程。在原始PhotoNs-2.0代码程序中,进程与进程之间的粒子受力情况需要按照“通信本文档来自技高网
...

【技术保护点】
1.一种基于神威架构的宇宙N体数值模拟优化方法,其特征在于,包括:/n将同一目标进程的宇宙粒子数据打包且一次性传输至主核的相应进程,以分离MPI通信过程与宇宙N体数值模拟计算过程;/n在主核中将各个相同目标进程的宇宙粒子数据形成各个粒子对应的粒子包并按照数字形式从小到大逐个标记各个粒子包的ID值;/n构建任务列表,每个任务对应一对粒子包,将任务列表中的所有任务平均分配至各个从核上,保证各个从核的负载均衡;/n在各个从核上利用多项式来拟合erfc函数和exp函数,利用拟合的erfc函数和exp函数求解各个任务中每对粒子的相互作用力,得到从核计算结果;/n将各个从核计算结果均上传至主核进行汇总,实现宇宙N体的数值模拟。/n

【技术特征摘要】
1.一种基于神威架构的宇宙N体数值模拟优化方法,其特征在于,包括:
将同一目标进程的宇宙粒子数据打包且一次性传输至主核的相应进程,以分离MPI通信过程与宇宙N体数值模拟计算过程;
在主核中将各个相同目标进程的宇宙粒子数据形成各个粒子对应的粒子包并按照数字形式从小到大逐个标记各个粒子包的ID值;
构建任务列表,每个任务对应一对粒子包,将任务列表中的所有任务平均分配至各个从核上,保证各个从核的负载均衡;
在各个从核上利用多项式来拟合erfc函数和exp函数,利用拟合的erfc函数和exp函数求解各个任务中每对粒子的相互作用力,得到从核计算结果;
将各个从核计算结果均上传至主核进行汇总,实现宇宙N体的数值模拟。


2.如权利要求1所述的基于神威架构的宇宙N体数值模拟优化方法,其特征在于,在求解各个任务中每对粒子的相互作用力的过程中,去除任意两个粒子相互作用力的重复计算。


3.如权利要求2所述的基于神威架构的宇宙N体数值模拟优化方法,其特征在于,去除任意两个粒子相互作用力的重复计算的过程为:
对于任务(i,j)和任务(j,i),当i≠j时,比较i和j的大小,当i<j时取(i,j),当i>j时,取(j,i);其中,i和j是粒子包的ID值。


4.如权利要求1所述的基于神威架构的宇宙N体数值模拟优化方法,其特征在于,在主核上为每个从核都开辟有一段额外的存储空间,使每个从核将其对应的从核计算结果写回主核空间对应的位置。


5.如权利要求1所述的基于神威架构的宇宙N体数值模拟优化方法,其特征在于,将erfc函数和exp函数的计算均拆分为两个部分,整数部分和小数部分;其中,整数部分按e的指数等于数组下标的情况存放在一个数组中,利用查表实现,超出整数查表范围的情况,利用移位的快速幂计算形式实现;对于小数部分,编制python脚本来求解erfc函数和exp函数小数部分的多项式系数。


6.一种基于神威架构的宇宙N体数值模拟优化系统,其特征在于,包括:
通信模块,其用于将同一目标进程的宇宙...

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

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

1