DocumentCode
3706570
Title
Automatic OpenCL Code Generation for Multi-device Heterogeneous Architectures
Author
Pei Li;Elisabeth Brunet;Francois Trahay;Christian Parrot;Gael Thomas;Raymond Namyst
fYear
2015
Firstpage
959
Lastpage
968
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.
Keywords
"Kernel","Performance evaluation","Programming","Hardware","Arrays","Writing","Synchronization"
Publisher
ieee
Conference_Titel
Parallel Processing (ICPP), 2015 44th International Conference on
ISSN
0190-3918
Type
conf
DOI
10.1109/ICPP.2015.105
Filename
7349651
Link To Document