Towards High-Level Programming of Multi-GPU Systems Using the SkelCL Library
Authors:
- Michel SteuwerMSMichel Steuwer
- Philipp KegelPKPhilipp Kegel
- Sergei GorlatchSGSergei Gorlatch
- 1 May 2012
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 1858-1865
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 presented in this paper is built on top of the OpenCL standard and offers pre-implemented recurring computation and communication patterns (skeletons) which greatly simplify programming for multi-GPU systems. The library also provides an abstract vector data type and a high-level data (re)distribution mechanism to shield the programmer from the low-level data transfers between the system's main memory and multiple GPUs. In this paper, we focus on the specific support in SkelCL for systems with multiple GPUs and use a real-world application study from the area of medical imaging to demonstrate the reduced programming effort and competitive performance of SkelCL as compared to OpenCL and CUDA. Besides, we illustrate how SkelCL adapts to large-scale, distributed heterogeneous systems in order to simplify their programming.Keywords
This publication has 10 references indexed in Scilit:
- dOpenCL: Towards a Uniform Programming Approach for Distributed Heterogeneous Multi-/Many-Core Systems2012
- EMRECON: An expectation maximization based image reconstruction framework for emission tomography data2011
- SkelCL - A Portable Skeleton Library for High-Level GPU Programming2011
- A survey of algorithmic skeleton frameworks: high‐level structured parallel programming enablersSoftware: Practice and Experience, 2010
- SkePU2010
- An Extension of the StarSs Programming Model for Platforms with Multiple GPUs2009
- Variadic Templates for C++0x.The Journal of Object Technology, 2008
- SPMD cluster-based parallel 3D OSEMIEEE Transactions on Nuclear Science, 2003
- Patterns and Skeletons for Parallel and Distributed Computing2003
- Fast accurate iterative reconstruction for low-statistics positron volume imagingPhysics in Medicine & Biology, 1998