Institute of Computing Technology, Chinese Academy IR
光滑粒子流体动力学方法的高效异构加速 | |
王迎瑞1; 黎雷生2; 王景焘3; 田荣3 | |
2017 | |
发表期刊 | 计算机学报 |
ISSN | 0254-4164 |
卷号 | 40.0期号:009页码:2040 |
摘要 | 目前,光滑粒子流体动力学方法的GPu加速几乎都是基于简化的Euler控制方程,完整的Navier-stokes方程的GPU实现非常少,且对其困难、优化策略、加速效果的描述较为模糊.另一方面,CPU—GPU协同方式深刻影响着异构平台的整体效率,GPU加速模型还有待进一步探讨.文中的目的是将自主开发的、基于Navier—Stokes方程的SPH应用程序petaPar在异构平台上进行高效加速.文中首先从数学公式的角度分析了Euler方程和Navier—Stokes方程的计算特征,并总结了Navier—Stokes方程在GPU加速中面临的困难.由于Euler方程只含有简单的标量和向量计算,是典型的适合GPU的计算密集轻量级kernel;而完整形式的Navie〉Stokes方程涉及复杂的材料本构和大量张量计算,需要面对GPU上大kernel带来的系列问题,如访存压力、cache不足、低占用率、寄存器溢出等.文中通过减少粒子属性、提取操作到粒子更新、利用粒子的重用度、最大化GPU占用率等策略对Navier-Stokes方程的粒子交互kernel进行优化,具体实现见5.1节.同时,文中调研了三种GPU加速模型:热点加速、全GPU加速以及对等协同,分析了其开发投入、应用范围、理论加速比等,并深入探讨了对等协同模型的通信优化策略.由于通信粒子的不连续分布,GPU端通信粒子的抽取、插入、删除等操作本质上是对不连续内存的并行操作,会严重影响CPU—GPU的同步效果,而相关文献对此问题没有阐述.我们通过改进粒子索引规则解决此问题:粒子排序时不仅考虑网格编号,还要考虑网格类型,具体实现见5.2.3节.基于Euler方程和Navier—Stokes方程实现并分析了三种GPU加速模型.测试结果显示,三种模型下,Euler方程分别获得了8倍、33倍、36倍的加速,Navier-Stokes方程分别获得了6倍、15倍、20倍的加速.全GPU加速均突破了热点加速的加速比理论上限,对等协同比之全GPU加速又可以获得进一步提高.特别是对于Navier-Stokes方程,采用文中的kernel优化策略及对等协同模型,最终在异构平台上实现了20倍的整体加速.针对Navier—Stokes方程的对等协同版本这一应用范围最广、加速效果最好的实现,在Titan超级计算机的6个和1024个异构计算节点上进行了强、弱可扩展性测试,分别获得了67.1%和75.2%的并行效率. |
关键词 | CPU—GPU耦合计算 热点加速 全GPU加速 对等协同 粒子模拟 光滑粒子流体动力学 petaPar |
语种 | 英语 |
文献类型 | 期刊论文 |
条目标识符 | http://119.78.100.204/handle/2XEOYT63/36908 |
专题 | 中国科学院计算技术研究所期刊论文_中文 |
作者单位 | 1.中国科学院计算技术研究所 2.中国科学院软件研究所 3.中国工程物理研究院高性能数值模拟软件中心 |
第一作者单位 | 中国科学院计算技术研究所 |
推荐引用方式 GB/T 7714 | 王迎瑞,黎雷生,王景焘,等. 光滑粒子流体动力学方法的高效异构加速[J]. 计算机学报,2017,40.0(009):2040. |
APA | 王迎瑞,黎雷生,王景焘,&田荣.(2017).光滑粒子流体动力学方法的高效异构加速.计算机学报,40.0(009),2040. |
MLA | 王迎瑞,et al."光滑粒子流体动力学方法的高效异构加速".计算机学报 40.0.009(2017):2040. |
条目包含的文件 | 条目无相关文件。 |
个性服务 |
推荐该条目 |
保存到收藏夹 |
查看访问统计 |
导出为Endnote文件 |
谷歌学术 |
谷歌学术中相似的文章 |
[王迎瑞]的文章 |
[黎雷生]的文章 |
[王景焘]的文章 |
百度学术 |
百度学术中相似的文章 |
[王迎瑞]的文章 |
[黎雷生]的文章 |
[王景焘]的文章 |
必应学术 |
必应学术中相似的文章 |
[王迎瑞]的文章 |
[黎雷生]的文章 |
[王景焘]的文章 |
相关权益政策 |
暂无数据 |
收藏/分享 |
除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。
修改评论