arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2012.02925cs.DC
收藏

基于OpenACC的结构网格CFD应用的GPU计算改进框架

An Improved Framework of GPU Computing for CFD Applications on Structured Grids using OpenACC

Weicheng Xue, Charles W. Jackson, Christoper J. Roy

摘要:

本文的重点是提高多GPU性能的研究CFD代码上的结构化网格。MPI和OpenACC指令用于将代码扩展到16个GPU。本文表明,对于三种不同的测试用例,使用16个P100 GPU和16个V100 GPU分别比16个Xeon CPU E5- 2680 v4内核快30 $\times$和70 $\times$。一系列的性能问题相关的多块CFD代码的缩放处理通过应用各种优化。性能优化,如打包/解包消息方法,删除作为过程调用参数的临时数组,为限制器和连接的边界数据分配全局内存,重新排序非阻塞MPI I\_send/I\_recv和Wait调用,减少主机和设备之间不必要的隐式派生类型成员数据移动,以及使用GPUDirect可以提高计算利用率,内存吞吐量,使用现代编程功能在多块CFD代码中实现异步推进。

英文摘要:

This paper is focused on improving multi-GPU performance of a research CFD code on structured grids. MPI and OpenACC directives are used to scale the code up to 16 GPUs. This paper shows that using 16 P100 GPUs and 16 V100 GPUs can be 30$\times$ and 70$\times$ faster than 16 Xeon CPU E5-2680v4 cores for three different test cases, respectively. A series of performance issues related to the scaling for the multi-block CFD code are addressed by applying various optimizations. Performance optimizations such as the pack/unpack message method, removing temporary arrays as arguments to procedure calls, allocating global memory for limiters and connected boundary data, reordering non-blocking MPI I\_send/I\_recv and Wait calls, reducing unnecessary implicit derived type member data movement between the host and the device and the use of GPUDirect can improve the compute utilization, memory throughput, and asynchronous progression in the multi-block CFD code using modern programming features.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑