[发明专利]一种基于GPU的N体模拟程序性能优化方法有效
| 申请号: | 202110077894.4 | 申请日: | 2021-01-20 |
| 公开(公告)号: | CN112765870B | 公开(公告)日: | 2022-05-06 |
| 发明(设计)人: | 王武;赵文龙 | 申请(专利权)人: | 中国科学院计算机网络信息中心 |
| 主分类号: | G06F30/25 | 分类号: | G06F30/25;G06F119/14 |
| 代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 陈霁 |
| 地址: | 100190 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 gpu 模拟 程序 性能 优化 方法 | ||
本发明涉及一种基于GPU的N体模拟程序性能优化方法,包括以下步骤:将相关索引信息传入到GPU使得构造短程力列表的过程迁移到GPU上,同时使得构造列表的过程并行化;改变线程块调度的方式,通过GPU的流水调度,将粒子信息轮流加载到GPU的共享内存中;在GPU核心函数中采用插值多项式和混合精度计算短程作用力,CPU上计算好插值常数后传入GPU,存放在GPU的共享内存中;对GPU上各粒子的短程力计算结果通过重排序,在GPU全局内存进行规约合并,在所有粒子计算完成后再将最终结果传回CPU。本发明减少了从CPU内存到GPU显存的数据传输,降低重复访存的延迟,提高GPU计算短程力过程中的数据存取效率,以及减少从GPU显存到CPU内存数据传输,同时也减少了CPU端信息更新的时间。
技术领域
本发明属于计算机技术领域,具体涉及一种基于GPU的N体模拟程序性能优化方法。
背景技术
N体问题是力学的基本问题之一,主要研究N个粒子间的互相作用以及其运动规律,由给定的粒子初始参数,例如位置、质量、速度,计算每个粒子在物理力的作用下与其他粒子间的相互作用,来模拟粒子的演化过程。在计算过程中,主要分为长程力和短程力。N体问题在天体物理、分子动力学、材料科学等领域都有重要的应用。
在面对粒子总数达到千亿甚至万亿的物理系统,计算时间将随着规模的增大而急剧增加。虽然有一些快速算法,如快速多极子方法(Fast Multipole Method,FMM)将整体复杂度降到了O(N),但是N体问题的精确、完整模拟需要做成千上万步迭代,巨大的计算量成为主要瓶颈,传统计算机的计算能力已经远远无法满足要求,随着高性能计算技术的快速发展,以GPU为代表的并行异构平台已经成为提高计算性能的主要手段。
对于all-pairs问题中的直接法(Particle-to-Particle,P2P)的性能优化,主要利用显存的共享内存缓存重复计算过程中的粒子信息,虽然效率较高,但直接法的复杂度过高,为O(N^2),不适合N达到千亿量级的实际问题。对于快速N体模拟方法,基本的GPU优化使用零拷贝内存提高GPU运算时的传输效率,但是也依然有数据的重复传输和计算。
在快速算法中,粒子-粒子(P2P)之间的计算时间依然占据整体计算的较大比重,因此对P2P的优化能够最大效率的提高算法的整体性能,并且在P2P的计算中,每个粒子的速度以及位置的计算与更新都是相对独立的,因此很适合进行GPU上并行计算。在基于GPU的常用优化方法的基础上,进一步采用数据结构重构、传输优化、核心计算函数优化以及任务调度方式可以将计算性能再加速2倍左右。
发明内容
本发明的目的,在GPU上使用CUDA/HIP对N体模拟程序进行基本的优化之后,其中可能包括固定内存,零拷贝内存、流等优化方式,已经使得N体程序比其MPI版本快了近千倍,但是由于数据结构与算法原因,使得程序可能存在以下四点问题:
(1)为了对粒子进行分批计算会将粒子进行分包措施,但是由于N体问题中的粒子极有可能同时作用多个粒子,使得各个包中可能存在大量重复的粒子
(2)相同包中的粒子会与相同的作用列表中的粒子进行短程力计算,但是每个线程都从全局内存读取,访存效率不高
(3)在短程力的计算中,会存在许多耗时较长的数学函数,如sqrt,exp,erfc
(4)每次计算完成后都会传回CPU,进行更新,有重复传输与更新
程序在数据的传输量以及计算过程的处理上仍有继续优化的空间,因此在原有的数据结构的基础上,通过减少内存-显存之间数据的传输量以及减少核函数上复杂函数的调用次数以及运算指令的更换,减少整个计算过程的时钟周期,来达到提高P2P的运算效率的目的,这对上千亿乃至万亿规模的N体模拟十分必要。
为实现上述目的,本发明提供了一种基于GPU的N体模拟程序性能优化方法,该方法包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算机网络信息中心,未经中国科学院计算机网络信息中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110077894.4/2.html,转载请声明来源钻瓜专利网。





