A High-Level Programming Approach for Distributed Systems with Accelerators

被引:0
|
作者
Steuwer, Michel [1 ]
Kegel, Philipp [1 ]
Gorlatch, Sergei [1 ]
机构
[1] Univ Munster, Dept Math & Comp Sci, Munster, Germany
关键词
GPU Computing; Multi-GPU Systems; Skeletons; SkelCL; dOpenCL;
D O I
10.3233/978-1-61499-125-0-430
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Application programming for modern heterogeneous systems which comprise multiple accelerators (multi-core CPUs and GPUs) is complex and error-prone. Popular approaches, like OpenCL and CUDA, are low-level and offer no support for the two most complicated issues: 1) programming multiple GPUs within a stand-alone computer, and 2) managing distributed systems that integrate several such computers. In particular, distributed systems require application developers to use a mix of different programming models, e. g., MPI together with OpenCL or CUDA. We propose a uniform approach based on OpenCL for programming both stand-alone and distributed systems with GPUs. The approach implementation is based on two parts: 1) the SkelCL library for high-level application programming on heterogeneous stand-alone computers with multi-core CPUs and multiple GPUs, and 2) the dOpenCL middleware for transparent execution of OpenCL programs on several stand-alone computers connected over a network. Both SkelCL and dOpenCL are built on top of the OpenCL standard which ensures their high portability across different kinds of processors and GPUs. The dOpenCL middleware extends OpenCL, such that arbitrary computing devices (multi-core CPUs and GPUs) in a distributed system can be used within a single application, with data and program code moved to these devices transparently. The SkelCL library offers a set of pre-implemented patterns (skeletons) of parallel computation and communication which greatly simplify programming for multi-GPU systems. The library also provides an abstract vector data type and a high-level data (re) distribution mechanism to shield the programmer from the low-level data transfers between a system's main memory and multiple GPUs. This paper describes dOpenCL and SkelCL and illustrates how they are used to simplify programming of heterogeneous distributed systems with accelerators.
引用
收藏
页码:430 / 441
页数:12
相关论文
共 50 条
  • [31] High-level synthesis of nonprogrammable hardware accelerators
    Schreiber, Robert
    Aditya, Shail
    Rau, B. Ramakrishna
    Kathail, Vinod
    Mahlke, Scott
    Abraham, Santosh
    Snider, Greg
    [J]. HP Laboratories Technical Report, 2000, (31):
  • [32] An approach to high-level synthesis using constraint logic programming
    Kuchcinski, K
    [J]. 24TH EUROMICRO CONFERENCE - PROCEEDING, VOLS 1 AND 2, 1998, : 74 - 82
  • [33] Comparison of high-level programming languages efficiency in embedded systems
    Choroszucho, Agnieszka
    Golonko, Piotr
    Bednarek, Jakub
    Sumorek, Mateusz
    Zukowski, Jakub
    [J]. PHOTONICS APPLICATIONS IN ASTRONOMY, COMMUNICATIONS, INDUSTRY, AND HIGH-ENERGY PHYSICS EXPERIMENTS 2019, 2019, 11176
  • [34] Programming the Web with high-level programming languages
    Graunke, P
    Krishnamurthi, S
    Van der Hoeven, S
    Felleisen, M
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2001, 2028 : 122 - 136
  • [35] Towards High-Level Parallel Programming Models for Multicore Systems
    Marowka, Ami
    [J]. PROCEEDINGS OF THE 2008 ADVANCED SOFTWARE ENGINEERING & ITS APPLICATIONS, 2008, : 226 - 229
  • [36] PAPE - A HIGH-LEVEL LANGUAGE FOR ELECTRONIC SWITCHING SYSTEMS PROGRAMMING
    BARBERYE, G
    MARTIN, M
    [J]. ONDE ELECTRIQUE, 1980, 60 (03): : 43 - 48
  • [37] Using high-level performance prediction in compiling for distributed systems
    van Gemund, AJC
    [J]. PROCEEDINGS OF THE THIRTY-FIRST HAWAII INTERNATIONAL CONFERENCE ON SYSTEM SCIENCES, VOL VII: SOFTWARE TECHNOLOGY TRACK, 1998, : 554 - 563
  • [38] Object-Based High-Level Petri Nets as a formal approach to distributed information systems
    Guerrero, DDS
    deFigueiredo, JCA
    Perkusich, A
    [J]. SMC '97 CONFERENCE PROCEEDINGS - 1997 IEEE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN, AND CYBERNETICS, VOLS 1-5: CONFERENCE THEME: COMPUTATIONAL CYBERNETICS AND SIMULATION, 1997, : 3383 - 3388
  • [39] Verification of distributed systems modelled by high-level Petri nets
    Kozura, VE
    Nepomniaschy, VA
    Novikov, RM
    [J]. PAR ELEC 2002: INTERNATIONAL CONFERENCE ON PARALLEL COMPUTING IN ELECTRICAL ENGINEERING, 2002, : 61 - 66
  • [40] A NEW CLASS OF HIGH-LEVEL PROGRAMS FOR DISTRIBUTED COMPUTING SYSTEMS
    RAMESH, S
    MEHNDIRATTA, SL
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1985, 206 : 42 - 72