Uniform High-Level Programming of Many-Core and Multi-GPU Systems

Philipp Kegel, Michel Steuwer, Sergei Gorlatch

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Application programming for modern heterogeneous systems which comprise multi-core CPUs and multiple GPUs is complex and error-prone. Approaches like OpenCL and CUDA are relatively low-level as they require explicit handling of parallelism and memory, and they do not offer support for multiple GPUs within a stand-alone computer, nor for distributed systems that integrate several computers. In particular, distributed systems require application developers to use a mix of programming models, e.g., MPI together with OpenCL or CUDA.

We propose a uniform, high-level approach for programming both stand-alone and distributed systems with many cores and multiple GPUs. The approach consists of two parts: 1) the dOpenCL runtime system for transparent execution of OpenCL programs on several stand-alone computers connected by a network, and 2) the SkelCL library for high-level application programming on heterogeneous stand-alone systems with multi-core CPUs and multiple GPUs. While dOpenCL provides transparent accessibility of arbitrary computing devices (multi-core CPUs and GPUs) across distributed systems, SkelCL offers a set of pre-implemented patterns (skeletons) of parallel computation and communication which greatly simplify programming these devices. Both parts are built on top of OpenCL which ensures their high portability across different kinds of processors and GPUs.

We describe dOpenCL and SkelCL, demonstrate how our approach simplifies programming for distributed systems with many cores and multiple GPUs and report experimental results on a real-world application from the field of medical imaging.
Original languageEnglish
Title of host publicationTransition of HPC Towards Exascale Computing
PublisherIOS Press
Pages159 - 176
Number of pages18
ISBN (Electronic)978-1-61499-324-7
ISBN (Print)978-1-61499-323-0
DOIs
Publication statusPublished - 30 Jun 2012
EventInternational Advanced Research Workshop on High Performance Computing, Grids and Clouds - Cetraro, Italy
Duration: 25 Jun 201229 Jun 2012
http://www.hpcc.unical.it/hpc2012/

Publication series

NameAdvances in Parallel Computing
PublisherIOS Press
Volume24
ISSN (Print)0927-5452
ISSN (Electronic)1879-808X

Workshop

WorkshopInternational Advanced Research Workshop on High Performance Computing, Grids and Clouds
Abbreviated titleHPC 2012
CountryItaly
CityCetraro
Period25/06/1229/06/12
Internet address

Fingerprint Dive into the research topics of 'Uniform High-Level Programming of Many-Core and Multi-GPU Systems'. Together they form a unique fingerprint.

Cite this