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

Michel Steuwer, Sergei Gorlatch, Matthias Buß, Stefan Breuer

Research output: Chapter in Book/Report/Conference proceedingChapter

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
Original languageEnglish
Title of host publicationEuro-Par 2012: Parallel Processing Workshops
Subtitle of host publicationBDMC, CGWS, HeteroPar, HiBB, OMHI, Paraphrase, PROPER, Resilience, UCHPC, VHPC, Rhodes Islands, Greece, August 27-31, 2012. Revised Selected Papers
EditorsIoannis Caragiannis, Michael Alexander, Rosa Maria Badia, Mario Cannataro, Alexandru Costan, Marco Danelutto, Frédéric Desprez, Bettina Krammer, Julio Sahuquillo, Stephen L. Scott, Josef Weidendorfer
Place of PublicationBerlin, Heidelberg
PublisherSpringer Berlin Heidelberg
Pages370-380
Number of pages11
ISBN (Electronic)978-3-642-36949-0
ISBN (Print)978-3-642-36948-3
DOIs
Publication statusPublished - 2013

Publication series

NameLecture Notes in Computer Science
PublisherSpringer Berlin Heidelberg
Volume7640
ISSN (Print)0302-9743

Fingerprint

Dive into the research topics of 'Using the SkelCL Library for High-Level GPU Programming of 2D Applications'. Together they form a unique fingerprint.

Cite this