Unified Schemes for Directive-Based GPU Offloading

被引:0
|
作者
Miki, Yohei [1 ]
Hanawa, Toshihiro [1 ]
机构
[1] Univ Tokyo, Informat Technol Ctr, Chiba 2770882, Japan
来源
IEEE ACCESS | 2024年 / 12卷
基金
日本学术振兴会;
关键词
Graphics processing units; Codes; Kernel; Costs; Multicore processing; Switches; Supercomputers; Programming; Libraries; User interfaces; Directive; GPU; OpenACC; OpenMP target; preprocessor macro; vendor lock-in;
D O I
10.1109/ACCESS.2024.3509380
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
GPU is the dominant accelerator device due to its high performance and energy efficiency. Directive-based GPU offloading using OpenACC or OpenMP target is a convenient way to port existing codes originally developed for multicore CPUs. Although OpenACC and OpenMP target provide similar features, both methods have pros and cons. OpenACC has better functions and an abundance of documents, but it is virtually for NVIDIA GPUs. OpenMP target supports NVIDIA/AMD/Intel GPUs but has fewer functions than OpenACC. Here, we have developed a header-only library, Solomon (Simple Off-LOading Macros Orchestrating multiple Notations), to unify the interface for GPU offloading with the support of both OpenACC and OpenMP target. Solomon provides three types of notations to reduce users' implementation and learning costs: intuitive notation for beginners and OpenACC/OpenMP-like notations for experienced developers. This manuscript denotes Solomon's implementation and usage and demonstrates the GPU-offloading in N-body simulation and the three-dimensional diffusion equation. The library and sample codes are provided as open-source software and publicly and freely available at https://github.com/ymikirepo/solomon.
引用
收藏
页码:181644 / 181665
页数:22
相关论文
共 50 条
  • [1] Using GPU Shared Memory with A Directive-based Approach
    Ding, Wei
    Lu, Ligang
    Araya-Polo, Mauricio
    St-Cyr, Amik
    Hohl, Detlef
    Chapman, Barbara M.
    PROCEEDINGS OF 2014 IEEE INTERNATIONAL PARALLEL & DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW), 2014, : 1022 - 1029
  • [2] Directive-based GPU programming for computational fluid dynamics
    Pickering, Brent P.
    Jackson, Charles W.
    Scogland, Thomas R. W.
    Feng, Wu-Chun
    Roy, Christopher J.
    COMPUTERS & FLUIDS, 2015, 114 : 242 - 253
  • [3] An Evaluation of Directive-Based Parallelization on the GPU Using a Parboil Benchmark
    Dukic, Jovan
    Misic, Marko
    ELECTRONICS, 2023, 12 (22)
  • [4] Exploring performance improvement opportunities in directive-based GPU programming
    Diarra, Rokiatou
    Merigot, Alain
    Vincke, Bastien
    2018 CONFERENCE ON DESIGN AND ARCHITECTURES FOR SIGNAL AND IMAGE PROCESSING (DASIP), 2018, : 82 - 87
  • [5] The Framework and Compilation Techniques for Directive-based GPU Cluster Programming
    Makpaisit, Pisit
    Uthayopas, Putchong
    2014 11TH INTERNATIONAL JOINT CONFERENCE ON COMPUTER SCIENCE AND SOFTWARE ENGINEERING (JCSSE), 2014, : 229 - 235
  • [6] Acceleration of the Parameterization of Unified Microphysics Across Scales (PUMAS) on the Graphics Processing Unit (GPU) With Directive-Based Methods
    Sun, Jian
    Dennis, John M.
    Mickelson, Sheri A.
    Vanderwende, Brian
    Gettelman, Andrew
    Thayer-Calder, Katherine
    JOURNAL OF ADVANCES IN MODELING EARTH SYSTEMS, 2023, 15 (05)
  • [7] Interactive Program Debugging and Optimization for Directive-Based, Efficient GPU Computing
    Lee, Seyong
    Li, Dong
    Vetter, Jeffrey S.
    2014 IEEE 28TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM, 2014,
  • [8] Early Evaluation of Directive-Based GPU Programming Models for Productive Exascale Computing
    Lee, Seyong
    Vetter, Jeffrey S.
    2012 INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS (SC), 2012,
  • [9] Multi-GPU Support on Single Node Using Directive-Based Programming Model
    Xu, Rengan
    Tian, Xiaonan
    Chandrasekaran, Sunita
    Chapman, Barbara
    SCIENTIFIC PROGRAMMING, 2015, 2015
  • [10] Directive-Based Compilers for GPUs
    Ghike, Swapnil
    Gran, Ruben
    Garzaran, Maria J.
    Padua, David A.
    LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING (LCPC 2014), 2015, 8967 : 19 - 35