SkelCL: enhancing OpenCL for high-level programming of multi-GPU systems

Steuwer, M. and Gorlatch, S. (2013) SkelCL: enhancing OpenCL for high-level programming of multi-GPU systems. In: Parallel Computing Technologies - 12th International Conference, PaCT 2013, St. Petersburg, Russia, 30 Sep - 04 Oct 2013, pp. 258-272. ISBN 9783642399572 (doi:10.1007/978-3-642-39958-9_24)

148982.pdf - Accepted Version



Application development for modern high-performance systems with Graphics Processing Units (GPUs) currently relies on low-level programming approaches like CUDA and OpenCL, which leads to complex, lengthy and error-prone programs. In this paper, we present SkelCL – a high-level programming approach for systems with multiple GPUs and its implementation as a library on top of OpenCL. SkelCL provides three main enhancements to the OpenCL standard: 1) computations are conveniently expressed using parallel algorithmic patterns (skeletons); 2) memory management is simplified using parallel container data types (vectors and matrices); 3) an automatic data (re)distribution mechanism allows for implicit data movements between GPUs and ensures scalability when using multiple GPUs. We demonstrate how SkelCL is used to implement parallel applications on one- and two-dimensional data. We report experimental results to evaluate our approach in terms of programming effort and performance.

Item Type:Conference Proceedings
Glasgow Author(s) Enlighten ID:Steuwer, Dr Michel
Authors: Steuwer, M., and Gorlatch, S.
Subjects:Q Science > QA Mathematics > QA75 Electronic computers. Computer science
College/School:College of Science and Engineering > School of Computing Science
Copyright Holders:Copyright © 2013 Springer-Verlag
First Published:First published in International Conference on Parallel Computing Technologies PaCT 2013: 258-272
Publisher Policy:Reproduced in accordance with the publisher copyright policy

University Staff: Request a correction | Enlighten Editors: Update this record