ExaHyPE中的GPU卸载通过C++标准算法

摘要:ISO C++17标准引入了并行算法,这是一种承诺可在多种并行硬件上实现可移植性的并行编程模型,包括多核CPU、GPU和FPGA。从2019年开始,NVIDIA HPC SDK编译器套件支持这种多核CPU和GPU的编程模型。ExaHyPE是用于复杂波现象的双曲型偏微分方程求解器引擎。它支持多种数值方法,包括有限体积法和ADER-DG,并通过空间填充曲线实现自适应网格细化和动态负载平衡,同时采用基于任务的并行性和GPU卸载。本研究将ExaHyPE的任务移植到ISO C++并行算法编程模型中的有限体积块,并将其性能和易用性与通过OpenMP目标指令进行卸载的OpenMP实现进行比较。结果表明,ISO C++是一种可行的编程模型,可用于非平凡的应用程序,如我们基于任务的AMR代码。实现中没有特定于供应商的或非C++的扩展。然而,它比它的OpenMP对应物慢。

作者:Uzmar Gomez and Gonzalo Brito Gadeschi and Tobias Weinzierl

论文ID:2302.09005

分类:Mathematical Software

分类简称:cs.MS

提交时间:2023-02-20

PDF 下载: 英文版 中文版pdf翻译中