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

Steuwer Michel, Kegel Philipp, Gorlatch Sergei

Research article in edited proceedings (conference) | Peer reviewed

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.

Details about the publication

Book title2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum (IPDPSW)
Page range1176-1182
Publishing companyWiley-IEEE Press
StatusPublished
Release year2011
Language in which the publication is writtenEnglish
Conference16th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS) at IPDPS 2011, Anchorage, AK, USA, undefined
ISBN978-1-61284-425-1
DOI10.1109/IPDPS.2011.269
KeywordsGPU Computing; GPU Programming; Multi-GPU Systems; SkelCL; CUDA; 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