SkelCL: Enhancing openCL for high-level programming of multi-GPU systems

20Citations
Citations of this article
13Readers
Mendeley users who have this article in their library.
Get full text

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. 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. © 2013 Springer-Verlag Berlin Heidelberg.

Cite

CITATION STYLE

APA

Steuwer, M., & Gorlatch, S. (2013). SkelCL: Enhancing openCL for high-level programming of multi-GPU systems. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 7979 LNCS, pp. 258–272). Springer Verlag. https://doi.org/10.1007/978-3-642-39958-9_24

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free