Automatic OpenCL code generation for multi-device heterogeneous architectures

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Using multiple accelerators, such as GPUs or Xeon Phis, is attractive to improve the performance of large data parallel applications and to increase the size of their workloads. However, writing an application for multiple accelerators remains today challenging because going from a single accelerator to multiple ones indeed requires to deal with potentially non-uniform domain decomposition, inter-accelerator data movements, and dynamic load balancing. Writing such code manually is time consuming and error-prone. In this paper, we propose a new programming tool called STEPOCL along with a new domain specific language designed to simplify the development of an application for multiple accelerators. We evaluate both the performance and the usefulness of STEPOCL with three applications and show that: (i) the performance of an application written with STEPOCL scales linearly with the number of accelerators, (ii) the performance of an application written using STEPOCL competes with a handwritten version, (iii) larger workloads run on multiple devices that do not fit in the memory of a single device, (iv) thanks to STEPOCL, the number of lines of code required to write an application for multiple accelerators is roughly divided by ten.

Original languageEnglish
Title of host publicationProceedings - 2015 44th International Annual Conference on Parallel Processing, ICPP 2015
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages959-968
Number of pages10
ISBN (Electronic)9781467375870
DOIs
Publication statusPublished - 8 Dec 2015
Event44th International Conference on Parallel Processing, ICPP 2015 - Beijing, China
Duration: 1 Sept 20154 Sept 2015

Publication series

NameProceedings of the International Conference on Parallel Processing
Volume2015-December
ISSN (Print)0190-3918

Conference

Conference44th International Conference on Parallel Processing, ICPP 2015
Country/TerritoryChina
CityBeijing
Period1/09/154/09/15

Keywords

  • Accelerators
  • Code generation
  • Heterogeneous architectures
  • OpenCL

Fingerprint

Dive into the research topics of 'Automatic OpenCL code generation for multi-device heterogeneous architectures'. Together they form a unique fingerprint.

Cite this