Title :
SkelCL - A Portable Skeleton Library for High-Level GPU Programming
Author :
Steuwer, Michel ; Kegel, Philipp ; Gorlatch, Sergei
Author_Institution :
Dept. of Math. & Comput. Sci., Univ. of Munster, Munster, Germany
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.
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;
Conference_Titel :
Parallel and Distributed Processing Workshops and Phd Forum (IPDPSW), 2011 IEEE International Symposium on
Conference_Location :
Shanghai
Print_ISBN :
978-1-61284-425-1
Electronic_ISBN :
1530-2075
DOI :
10.1109/IPDPS.2011.269