Steuwer, M. , Gorlatch, S., Buß, M. and Breuer, S. (2012) Using the SkelCL Library for High-Level GPU Programming of 2D Applications. In: Euro-Par 2012: Parallel Processing Workshops, Rhodes Island, Greece, 27-31 Aug 2012, pp. 370-380. ISBN 9783642369483 (doi: 10.1007/978-3-642-36949-0_41)
|
Text
148987.pdf - Accepted Version 887kB |
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 offers pre-implemented recurring computation and communication patterns (skeletons) which greatly simplify programming for single- and multi-GPU systems. In this paper, we focus on applications that work on two-dimensional data. We extend SkelCL by the matrix data type and the MapOverlap skeleton which specifies computations that depend on neighboring elements in a matrix. The abstract data types and a high-level data (re)distribution mechanism of SkelCL shield the programmer from the low-level data transfers between the system’s main memory and multiple GPUs. We demonstrate how the extended SkelCL is used to implement real-world image processing applications on two-dimensional data. We show that both from a productivity and a performance point of view it is beneficial to use the high-level abstractions of SkelCL.
Item Type: | Conference Proceedings |
---|---|
Status: | Published |
Refereed: | Yes |
Glasgow Author(s) Enlighten ID: | Steuwer, Dr Michel |
Authors: | Steuwer, M., Gorlatch, S., Buß, M., and Breuer, S. |
Subjects: | Q Science > QA Mathematics > QA75 Electronic computers. Computer science |
College/School: | College of Science and Engineering > School of Computing Science |
ISBN: | 9783642369483 |
University Staff: Request a correction | Enlighten Editors: Update this record