SkelCL - A Portable Skeleton Library for High-Level GPU Programming

M. Steuwer, P. Kegel, S. Gorlatch

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

While CUDA and OpenCL made general-purpose programming for Graphics Processing Units (GPU) popular, using these programming approaches remains complex and error-prone because they lack high-level abstractions. The especially challenging systems with multiple GPU are not addressed at all by these low-level programming models. We propose SkelCL - a library providing so-called algorithmic skeletons that capture recurring patterns of parallel computation and communication, together with an abstract vector data type and constructs for specifying data distribution. We demonstrate that SkelCL greatly simplifies programming GPU systems. We report the competitive performance results of SkelCL using both a simple Mandelbrot set computation and an industrial-strength medical imaging application. Because the library is implemented using OpenCL, it is portable across GPU hardware of different vendors.
Original languageEnglish
Title of host publicationParallel and Distributed Processing Workshops and Phd Forum (IPDPSW), 2011 IEEE International Symposium on
PublisherInstitute of Electrical and Electronics Engineers (IEEE)
Pages1176-1182
Number of pages7
ISBN (Print)978-1-61284-425-1
DOIs
Publication statusPublished - 1 May 2011

Keywords

  • abstract data types
  • coprocessors
  • formal specification
  • parallel programming
  • software libraries
  • CUDA
  • Mandelbrot set computation
  • OpenCL
  • SkelCL
  • abstract vector data type
  • algorithmic skeletons
  • data distribution specification
  • general-purpose programming
  • graphics processing units
  • high-level GPU programming
  • industrial-strength medical imaging application
  • parallel communication
  • parallel computation
  • portable skeleton library
  • Graphics processing unit
  • Image reconstruction
  • Kernel
  • Performance evaluation
  • Programming
  • Runtime
  • Skeleton

Fingerprint

Dive into the research topics of 'SkelCL - A Portable Skeleton Library for High-Level GPU Programming'. Together they form a unique fingerprint.

Cite this