Search

Searching. Please wait…

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.

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

 Publisher: Elsevier

 Year of publication: 2019

 No. of pages: 13

 Publication type: Article

 ISSN: 0743-7315,1096-0848

 Spanish project: CVE-2014-18166

 Publication Url: https://doi.org/10.1016/j.jpdc.2018.11.001

Authorship

MATEO, S.

TERUEL, X.

MARTORELL, X.

AYGUADÉ, E.