中文

面向指令式GPU卸载的统一方案

分布式、并行与集群计算 2024-12-02 v1 天体物理仪器与方法 性能 编程语言

摘要

GPU因其高性能和能源效率而成为主导加速器设备。基于指令的GPU卸载使用OpenACC或OpenMP target是便利的方式,可移植旨在为多核CPU开发的现有代码。尽管OpenACC和OpenMP target提供类似的功能,但两种方法各有优缺点。OpenACC功能更好且文档更丰富,但几乎仅支持NVIDIA GPU。OpenMP target支持NVIDIA/AMD/Intel GPU,但功能少于OpenACC。为此,我们开发了一个仅含标题文件的库Solomon(Simple Off-LOading Macros Orchestrating multiple Notations),用于统一使用OpenACC和OpenMP target进行GPU卸载。Solomon提供三种类型的记号来降低用户的实现和学习成本:面向初学者的直观记号以及面向经验丰富开发者的OpenACC/OpenMP式记号。本手稿描述了Solomon的实现和用法,并演示了在N体仿真和三维扩散方程中的GPU卸载。该库和示例代码作为开源软件公开提供,可在\url{https://github.com/ymiki-repo/solomon}获取。

关键词

引用

@article{arxiv.2411.18889,
  title  = {Unified schemes for directive-based GPU offloading},
  author = {Yohei Miki and Toshihiro Hanawa},
  journal= {arXiv preprint arXiv:2411.18889},
  year   = {2024}
}

备注

24 pages, 2 figures, 21 tables, accepted for publication in IEEE Access. The library and sample codes are available at https://github.com/ymiki-repo/solomon