SkelCL: a high-level extension of OpenCL for multi-GPU systems

Steuwer, M. and Gorlatch, S. (2014) SkelCL: a high-level extension of OpenCL for multi-GPU systems. Journal of Supercomputing, 69(1), pp. 25-33. (doi:10.1007/s11227-014-1213-y)

[img]
Preview
Text
148975.pdf - Accepted Version

499kB

Abstract

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. We present SkelCL – a high-level programming approach for systems with multiple GPUs and its implementation as a library on top of OpenCL. SkelCL makes three main enhancements to the OpenCL standard: 1) memory management is simplified using parallel container data types (vectors and matrices); 2) an automatic data (re)distribution mechanism allows for implicit data movements between GPUs and ensures scalability when using multiple GPUs; 3) computations are conveniently expressed using parallel algorithmic patterns (skeletons). We demonstrate how SkelCL is used to implement parallel applications and we report experimental evaluation of our approach in terms of programming effort and performance.

Item Type:Articles
Status:Published
Refereed:Yes
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
Journal Name:Journal of Supercomputing
Publisher:Springer
ISSN:0920-8542
ISSN (Online):1573-0484
Published Online:28 May 2014
Copyright Holders:Copyright © 2014 Springer Science+Business Media
First Published:First published in Journal of Supercomputing 69(1): 25-33
Publisher Policy:Reproduced in accordance with the publisher copyright policy

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