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 条
  • [21] Evaluation of a Directive-Based GPU Programming Approach for High-Order Unstructured Mesh Computational Fluid Dynamics
    Puri, Kunal
    Singh, Vikram
    Frankel, Steven
    PROCEEDINGS OF THE PLATFORM FOR ADVANCED SCIENTIFIC COMPUTING CONFERENCE (PASC17), 2017,
  • [22] Directive-based tile abstraction to distribute loops on accelerators
    Vanderbruggen, Tristan
    Cavazos, John
    Liao, Chunhua
    Quinlan, Daniel
    PROCEEDINGS OF THE GENERAL PURPOSE GPUS (GPGPU-10), 2017, : 53 - 62
  • [23] Performance of the RI-MP2 Fortran Kernel of GAMESS on GPUs via Directive-Based Offloading with Math Libraries
    Kwack, JaeHyuk
    Bertoni, Colleen
    Pham, Buu
    Larkin, Jeff
    ACCELERATOR PROGRAMMING USING DIRECTIVES, WACCPD 2019, 2020, 12017 : 91 - 113
  • [24] A Directive-Based Approach to Perform Persistent Checkpoint/Restart
    Maronas, Marcos
    Mateo, Sergi
    Beltran, Vicenc
    Ayguade, Eduard
    2017 INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING & SIMULATION (HPCS), 2017, : 442 - 451
  • [25] Directive-Based Partitioning and Pipelining for Graphics Processing Units
    Cui, Xuewen
    Scogland, Thomas R. W.
    de Supinski, Bronis R.
    Feng, Wu-chun
    2017 31ST IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS), 2017, : 575 - 584
  • [26] Optimizing legacy molecular dynamics software with directive-based offload
    Brown, W. Michael
    Carrillo, Jan-Michael Y.
    Gavhane, Nitin
    Thakkar, Foram M.
    Plimpton, Steven J.
    COMPUTER PHYSICS COMMUNICATIONS, 2015, 195 : 95 - 101
  • [27] Directive-Based Parallelization of For-Loops at LLVM IR Level
    Jingu, Kengo
    Shigenobu, Kohta
    Ootsu, Kanemitsu
    Ohkawa, Takeshi
    Yokota, Takashi
    2019 20TH IEEE/ACIS INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ARTIFICIAL INTELLIGENCE, NETWORKING AND PARALLEL/DISTRIBUTED COMPUTING (SNPD), 2019, : 421 - 426
  • [28] Ariadne - Directive-based parallelism extraction from recursive functions
    Mastoras, Aristeidis
    Manis, George
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2015, 86 : 16 - 28
  • [29] HeteroPP: A directive-based heterogeneous cooperative parallel programming framework
    Wan, Lanjun
    Cui, Xueyan
    Li, Yuanyuan
    Zheng, Weihua
    Yuan, Xinpan
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2024, 36 (11):
  • [30] A directive-based MPI code generator for Linux PC clusters
    Yang, Chao-Tung
    Lai, Kuan-Chou
    JOURNAL OF SUPERCOMPUTING, 2009, 50 (02): : 177 - 207