Auto-tuned OpenCL kernel co-execution in OmpSs for heterogeneous systems

Abstract: The emergence of heterogeneous systems has been very notable recently. The nodes of the most powerful computers integrate several compute accelerators, like GPUs. Profiting from such node configurations is not a trivial endeavour. OmpSs is a framework for task based parallel applications, that allows the execution of OpenCl kernels on different compute devices. However, it does not support the co-execution of a single kernel on several devices. This paper presents an extension of OmpSs that rises to this challenge, and presents Auto-Tune, a load balancing algorithm that automatically adjusts its internal parameters to suit the hardware capabilities and application behavior. The extension allows programmers to take full advantage of the computing devices with negligible impact on the code. It takes care of two main issues. First, the automatic distribution of datasets and the management of device memory address spaces. Second, the implementation of a set of load balancing algorithms to adapt to the particularities of applications and systems. Experimental results reveal that the co-execution of single kernels on all the devices in the node is beneficial in terms of performance and energy consumption, and that Auto-Tune gives the best overall results.

Otras publicaciones de la misma revista o congreso con autores/as de la Universidad de Cantabria

 Fuente: Journal of Parallel and Distributed Computing, Volume 125, March 2019, Pages 45-57

Editorial: Elsevier

 Año de publicación: 2019

Nº de páginas: 13

Tipo de publicación: Artículo de Revista

ISSN: 0743-7315,1096-0848

Proyecto español: CVE-2014-18166 ; TIN2016-76635-C2-2-R (AEI/FEDER, UE) ; TIN2015-65316-P

Url de la publicación: https://doi.org/10.1016/j.jpdc.2018.11.001