High-Level Programming of Stencil Computations on Multi-GPU Systems Using the SkelCL Library

被引:7
|
作者
Steuwer, Michel [1 ]
Haidl, Michael [1 ]
Breuer, Stefan [1 ]
Gorlatch, Sergei [1 ]
机构
[1] Univ Munster, Dept Math & Comp Sci, Munster, Germany
关键词
Stencils; Manycores; GPU; OpenCL; Skeletons; SkelCL;
D O I
10.1142/S0129626414410059
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
The implementation of stencil computations on modern, massively parallel systems with GPUs and other accelerators currently relies on manually-tuned coding using low-level approaches like OpenCL and CUDA. This makes development of stencil applications a complex, time-consuming, and error-prone task. We describe how stencil computations can be programmed in our SkelCL approach that combines high-level programming abstractions with competitive performance on multi-GPU systems. Ske1CL extends the OpenCL standard by three high-level features: 1) pre-implemented parallel patterns (a.k.a. skeletons); 2) container data types for vectors and matrices; 3) automatic data (re)distribution mechanism. We introduce two new Ske1CL skeletons which specifically target stencil computations MapOverlap and Stencil and we describe their use for particular application examples, discuss their efficient parallel implementation, and report experimental results on systems with multiple GPUs. Our evaluation of three real-world applications shows that stencil code written with Ske1CL is considerably shorter and offers competitive performance to hand-tuned OpenCL code.
引用
收藏
页数:17
相关论文
共 50 条
  • [1] Towards High-Level Programming of Multi-GPU Systems Using the SkelCL Library
    Steuwer, Michel
    Kegel, Philipp
    Gorlatch, Sergei
    [J]. 2012 IEEE 26TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS & PHD FORUM (IPDPSW), 2012, : 1858 - 1865
  • [2] High-Level Programming for Medical Imaging on Multi-GPU Systems using the SkelCL Library
    Steuwer, Michel
    Gorlatch, Sergei
    [J]. 2013 INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE, 2013, 18 : 749 - 758
  • [3] SkelCL: Enhancing OpenCL for High-Level Programming of Multi-GPU Systems
    Steuwer, Michel
    Gorlatch, Sergei
    [J]. PARALLEL COMPUTING TECHNOLOGIES (PACT 2013), 2013, 7979 : 258 - 272
  • [4] SkelCL: a high-level extension of OpenCL for multi-GPU systems
    Michel Steuwer
    Sergei Gorlatch
    [J]. The Journal of Supercomputing, 2014, 69 : 25 - 33
  • [5] SkelCL: a high-level extension of OpenCL for multi-GPU systems
    Steuwer, Michel
    Gorlatch, Sergei
    [J]. JOURNAL OF SUPERCOMPUTING, 2014, 69 (01): : 25 - 33
  • [6] Using the SkelCL Library for High-Level GPU Programming of 2D Applications
    Steuwer, Michel
    Gorlatch, Sergei
    Buss, Matthias
    Breuer, Stefan
    [J]. EURO-PAR 2012: PARALLEL PROCESSING WORKSHOPS, 2013, 7640 : 370 - 380
  • [7] SkePU: A Multi-Backend Skeleton Programming Library for Multi-GPU Systems
    Enmyren, Johan
    Kessler, Christoph W.
    [J]. HLPP 2010: PROCEEDINGS OF THE FOURTH INTERNATIONAL WORKSHOP ON HIGH-LEVEL PARALLEL PROGRAMMING AND APPLICATIONS, 2010, : 5 - 14
  • [8] Groute: An Asynchronous Multi-GPU Programming Model for Irregular Computations
    Ben-Nun, Tal
    Sutton, Michael
    Pai, Sreepathi
    Pingali, Keshav
    [J]. ACM SIGPLAN NOTICES, 2017, 52 (08) : 235 - 248
  • [9] PARTANS: An Autotuning Framework for Stencil Computation on Multi-GPU Systems
    Lutz, Thibaut
    Fensch, Christian
    Cole, Murray
    [J]. ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2013, 9 (04)
  • [10] Neon: A Multi-GPU Programming Model for Grid-based Computations
    Meneghin, Massimiliano
    Mahmoud, Ahmed H.
    Jayaraman, Pradeep Kumar
    Morris, Nigel J. W.
    [J]. 2022 IEEE 36TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS 2022), 2022, : 817 - 827