王景焘
- 作品数:2 被引量:4H指数:1
- 供职机构:中国工程物理研究院更多>>
- 发文基金:国家自然科学基金更多>>
- 相关领域:自动化与计算机技术更多>>
- SEMD:一种面向实际数值模拟软件的跨平台自动性能优化编程工具
- 2024年
- 针对手工软件性能优化缺乏可复用性和可移植性的问题,设计实现一种面向实际数值模拟软件的跨平台自动性能优化编程工具SEMD(Single element-based computing multiple data)。SEMD采用数值模拟领域基于网格的高层语义对数值计算循环进行抽象,完全屏蔽底层硬件特征和性能优化实现,使得基于其编写的数值计算子程序能够自动实现跨平台性能可移植。典型算例测试结果显示:在X86、ARM、GPU三种不同架构的处理器上,SEMD的整体性能优化效果超过国际上的同类产品。此外,SEMD在结构、流体、电磁等领域实际数值模拟软件的研制中也得到了初步应用,支撑4款软件热点数值计算子程序平均性能提升164%.
- 张鹏张爱清张爱清莫则尧
- 关键词:编程接口
- 光滑粒子流体动力学方法的高效异构加速被引量:4
- 2017年
- 目前,光滑粒子流体动力学方法的GPU加速几乎都是基于简化的Euler控制方程,完整的Navier-Stokes方程的GPU实现非常少,且对其困难、优化策略、加速效果的描述较为模糊.另一方面,CPU-GPU协同方式深刻影响着异构平台的整体效率,GPU加速模型还有待进一步探讨.文中的目的是将自主开发的、基于Navier-Stokes方程的SPH应用程序petaPar在异构平台上进行高效加速.文中首先从数学公式的角度分析了Euler方程和NavierStokes方程的计算特征,并总结了Navier-Stokes方程在GPU加速中面临的困难.由于Euler方程只含有简单的标量和向量计算,是典型的适合GPU的计算密集轻量级kernel;而完整形式的Navier-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加速又可以获得进一步提高.特别是
- 王迎瑞黎雷生王景焘田荣
- 关键词:光滑粒子流体动力学