HipBone:性能可移植的GPU加速C++版本的NekBone基准测试
HipBone: A performance-portable GPU-accelerated C++ version of the NekBone benchmark
摘要:
我们介绍了hipBone,一个用于Nek 5000(和NekRS)CFD应用程序的开源性能便携式代理应用程序。HipBone是原始NekBone CPU代理应用程序的完全GPU加速C++实现,具有几种新颖的算法和实现改进,可优化其在现代细粒度并行GPU加速器上的性能。我们的优化包括转换存储的自由度的问题,以组装的形式,以减少移动的数据量在主迭代和便携式实现的主要泊松算子内核。我们展示了近屋顶性能的运营商内核的三个不同的现代GPU加速器从两个不同的供应商。我们提出了一种新的算法分裂的应用程序的泊松运算符的GPU积极隐藏MPI通信所需的光环交换和组装。我们的最近邻居MPI通信的实现,然后利用几种不同的路由算法和GPU-Direct RDMA功能,当可用时,这提高了基准的可扩展性。我们展示了三个不同的集群在橡树岭国家实验室,即首脑会议的超级计算机和前沿早期访问集群,斯波克和破碎机的hipBone的性能。我们的测试证明了跨不同集群的可移植性和非常好的扩展效率,特别是在大型问题上。
英文摘要:
We present hipBone, an open source performance-portable proxy application for the Nek5000 (and NekRS) CFD applications. HipBone is a fully GPU-accelerated C++ implementation of the original NekBone CPU proxy application with several novel algorithmic and implementation improvements which optimize its performance on modern fine-grain parallel GPU accelerators. Our optimizations include a conversion to store the degrees of freedom of the problem in assembled form in order to reduce the amount of data moved during the main iteration and a portable implementation of the main Poisson operator kernel. We demonstrate near-roofline performance of the operator kernel on three different modern GPU accelerators from two different vendors. We present a novel algorithm for splitting the application of the Poisson operator on GPUs which aggressively hides MPI communication required for both halo exchange and assembly. Our implementation of nearest-neighbor MPI communication then leverages several different routing algorithms and GPU-Direct RDMA capabilities, when available, which improves scalability of the benchmark. We demonstrate the performance of hipBone on three different clusters housed at Oak Ridge National Laboratory, namely the Summit supercomputer and the Frontier early-access clusters, Spock and Crusher. Our tests demonstrate both portability across different clusters and very good scaling efficiency, especially on large problems.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。