Using the SkelCL Library for High-Level GPU Programming of 2D Applications

  • Michel Steuwer
  • Sergei Gorlatch
  • Matthias Buß
  • Stefan Breuer
Conference paper

DOI: 10.1007/978-3-642-36949-0_41

Part of the Lecture Notes in Computer Science book series (LNCS, volume 7640)
Cite this paper as:
Steuwer M., Gorlatch S., Buß M., Breuer S. (2013) Using the SkelCL Library for High-Level GPU Programming of 2D Applications. In: Caragiannis I. et al. (eds) Euro-Par 2012: Parallel Processing Workshops. Euro-Par 2012. Lecture Notes in Computer Science, vol 7640. Springer, Berlin, Heidelberg

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Michel Steuwer
    • 1
  • Sergei Gorlatch
    • 1
  • Matthias Buß
    • 1
  • Stefan Breuer
    • 1
  1. 1.University of MünsterMünsterGermany

Personalised recommendations