Towards High-Level Programming of Multi-GPU Systems Using the SkelCL Library

Steuwer, Michel; Kegel, Philipp; Gorlatch, Sergei

Research article in edited proceedings (conference) | Peer reviewed

Abstract

Application programming for GPUs (Graphics Processing Units) is complex and error-prone, because the popular approaches - CUDA and OpenCL - are intrinsically low-level and offer no special support for systems consisting of multiple GPUs. The SkelCL library presented in this paper is built on top of the OpenCL standard and offers pre- implemented recurring computation and communication patterns (skeletons) 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 the system’s main memory and multiple GPUs. In this paper, we focus on the specific support in SkelCL for systems with multiple GPUs and use a real-world application study from the area of medical imaging to demonstrate the reduced programming effort and competitive performance of SkelCL as compared to OpenCL and CUDA. Besides, we illustrate how SkelCL adapts to large-scale, distributed heterogeneous systems in order to simplify their programming.

Details about the publication

PublisherIEEE
Book titleProceedings of the 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2012
Page range1858-1865
Publishing companyWiley-IEEE Press
Place of publicationShanghai
StatusPublished
Release year2012
Language in which the publication is writtenEnglish
ConferenceSecond International Workshop on Accelerators and Hybrid Exascale Systems (AsHES) at IPDPS 2012, Shanghai, China
ISBN978-1-4673-0974-5
DOI10.1109/IPDPSW.2012.229
KeywordsGPU Computing; GPU Programming; Multi-GPU Systems; SkelCL; OpenCL; Algorithmic Skeletons

Authors from the University of Münster

Gorlatch, Sergei
Professur für Praktische Informatik (Prof. Gorlatch)
Kegel, Philipp
Institute of Computer Science
Steuwer, Michel
Institute of Computer Science