Gadget-2在一个加速卡异构平台上的移植与优化.docxVIP

Gadget-2在一个加速卡异构平台上的移植与优化.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
? ? Gadget-2在一个加速卡异构平台上的移植与优化 ? ? 赵文龙,王武 1.中国科学院计算机网络信息中心,北京 100083 2.中国科学院大学,北京 100049 引言 N 体问题描述了多个粒子在经典力学下的运动规律,是广泛运用于天体物理学和分子动力学等多个重要领域中的基本问题之一。为了能够更加精准地预测宇宙中物质的分布以及预想模型的正确性,往往需要进行大规模的模拟,这对于传统计算机集群来说有极大的压力。而随着硬件与算法的快速发展,用来求解N 体问题的软件也在不断地更新迭代,如GreeM[1]、CUBE[2]和PHoToNs[3]。 目前模拟N 体问题的主要数值方法有粒子-粒子法(Particle-Particle,P2P),粒子-网格法[4](Particle-Mesh Method,PM),Barnes-Hut 树算法[5](Barnes-Hut Tree Method,BH-Tree)以及快速多极子算法[6](Fast Multipole Method,FMM)。P2P 方法的时间复杂度为,计算效率较低,但是精度最高;PM 方法将空间网格离散,通过快速傅里叶变换(Fast Fourier Transform,FFT)求解泊松方程得到作用力,但近距离时误差较大;而树方法,包括BH-Tree 算法与FMM 算法,可以控制计算精度。为了兼顾精度与效率,P3M[7]、TreePM[8]与FMM-PM[9]这样的混合算法成为了主流。 得益于目前高性能计算的快速发展,尤其以CPU+GPU 为主流的并行异构平台的强大的计算能力,N 体问题成为了加速卡异构平台的热点应用之一。 国际上已有不少针对GPU 这种SIMT(Single Instruction Multiple Thread)并行机制的加速卡的N体模拟异构算法与实现。Nyland[10]针对P2P 算法的优化提出了“i-parallel”方法以及“walk”的概念,在GPU 上加速了50 倍。而Yokota[11]在Nyland的基础上,实现了对107个粒子的150 倍加速。由Hamada 提出的“Chamomile Scheme”算法被完全移植到了GPU 上,最终模拟131,072 个粒子性能达到了256GFlops[12],之后通过对树算法进行一系列优化,用576 个GPU 模拟32 亿个粒子,性能达到了190.5TFlops[13-15]。2011 年,波士顿大学针对FMM算法在天文问题上的应用进行GPU 加速[16],相较于CPU 端加速了70 倍。2017 年,Potter 将其开发的PKDGRAV3[17]中的FMM 算法成功移植到GPU 上,并用4,000 个GPU 节点实现了2 万亿粒子的天文模拟。在国内,针对国家天文台研发的PHoToNs-2 有相关的多GPU 的移植与优化[18-19]。上海交通大学以及厦门大学对CUBE 的PP 部分进行GPU 移植,单步运行速度提升了5.16 倍,并在64 个GPU 上有着83.8%的弱扩展效率。 Gadget-2[20]是天体物理领域最有影响力的并行模拟软件之一,它由Springel 开发,采用TreePM 算法,是国际上第一个可计算粒子规模达到百亿量级的开源宇宙模拟软件,在天文领域获得广泛认可,相关论文被引用超过6,500 次。针对不同的计算平台,Gadget 系列已经衍生出了众多分支版本来适应不同的并行架构和编程模式,如OpenAcc-Gadget3[21]、MP-Gadget[22]、AX-Gadget[23]。在2021 年推出的Gadget-4[24]采用了FMM-PM 算法。 本文针对国产高性能异构加速卡平台,基于HIP 完成了Gadget-2 的移植,并对其在核函数的访存效率进行了优化,最终整体性能加速13.27 倍,短程力计算加速35.67 倍,并行效率达到57.29%。第1 节主要介绍TreePM 以及相关算法的基本原理;第2 节介绍加速卡平台的计算环境,以及最耗时的短程力计算在加速卡上的实现方法;第3 节介绍短程力计算在加速卡上的性能优化方法;第4 节验证移植优化版本的结果正确性,并给出性能测试结果。 1 TreePM 算法原理 1.1 BH-Tree 算法 BH-Tree 算法是由Barnes 和Hut 提出的,其主要思想是将模拟空间看作是一个立方体,每一个维度递归地划分子空间,将空间中的粒子划分到不同的子节点,直到每个子空间只包含了一个粒子,以此构造一个八叉树,并将模拟的整个空间看作是根节点。 构造树之后,从叶子节点的父节点开始,由下往上依次计算每个节点的质点与质量,直到根节点。若节点只包含一个粒子,则该节点的质量与质心由该粒子的质量与位置决定,否则由子节点决定。在计算作用力的

文档评论(0)

科技之佳文库 + 关注
官方认证
文档贡献者

科技赋能未来,创新改变生活!

版权声明书
用户编号:8131073104000017
认证主体重庆有云时代科技有限公司
IP属地上海
统一社会信用代码/组织机构代码
9150010832176858X3

1亿VIP精品文档

相关文档