Automatic OpenCL code generation for multi-device heterogeneous architectures - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2015

Automatic OpenCL code generation for multi-device heterogeneous architectures

Résumé

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
Fichier non déposé

Dates et versions

hal-01275482 , version 1 (17-02-2016)

Identifiants

Citer

Pei Li, Elisabeth Brunet, François Trahay, Christian Parrot, Gaël Thomas, et al.. Automatic OpenCL code generation for multi-device heterogeneous architectures. ICPP 2015 : 44th International Conference on Parallel Processing, Sep 2015, Beijing, China. pp.959 - 968, ⟨10.1109/ICPP.2015.105⟩. ⟨hal-01275482⟩
133 Consultations
0 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More