Writing self-adaptive codes for heterogeneous systems

Jorge F. Fabeiro, Diego Andrade, Basilio B. Fraguela, Ramon Doallo
Depto. de Electronica e Sistemas, Universidade da Coruna, Spain
Euro-Par 2014 Parallel Processing 20th International Conference (Euro-Par’14), 2014


   title={Writing self-adaptive codes for heterogeneous systems},

   author={Fabeiro, Jorge F and Andrade, Diego and Fraguela, Basilio B and Doallo, Ram{‘o}n},



Heterogeneous systems are becoming increasingly common. Relatedly, the popularity of OpenCL is growing, as it provides a unified mean to program a wide variety of devices including GPUs or multicore CPUs. More recently, the Heterogeneous Programming Library (HPL) targets the same variety of systems as OpenCL, intending to improve their programmability. The main drawback of such unified approaches is the lack of performance portability, as codes written using OpenCL or HPL may obtain a good performance in a given device but a poor performance in a different one. HPL allows to generate different versions of kernels at run-time by combining C++ and the HPL embedded language. This paper explores the development of self-adaptive kernels that exploit this characteristic so that their code depends on configuration parameters that are tuned using a genetic algorithm through an iterative optimization process. The results show that these self-adaptive kernels are faster than those generated by hand following heuristics.
Rating: 2.2/5. From 114 votes.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: