Automatic OpenCL code generation for multi-device heterogeneous architectures

Pei Li, Elisabeth Brunet, Francois Trahay, Christian Parrot, Gael Thomas, Raymond Namyst
Telecom SudParis
International Conference on Parallel Processing (ICPP ’15), 2015


   title={Automatic OpenCL code generation for multi-device heterogeneous architectures},

   author={Li, Pei and Brunet, Elisabeth and Trahay, Fran{c{c}}ois and Parrot, Christian and Thomas, Ga{"e}l and Namyst, Raymond and SudParis, Telecom},



Download Download (PDF)   View View   Source Source   



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 nonuniform 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.
Rating: 5.0/5. From 1 vote.
Please wait...

Recent source codes

* * *

* * *

HGPU group © 2010-2019 hgpu.org

All rights belong to the respective authors

Contact us: