Execution of Compound Multi-Kernel OpenCL Computations in Multi-CPU/Multi-GPU Environments

Fábio Soldado,Fernando Alexandre,Hervé Paulino
DOI: https://doi.org/10.48550/arXiv.1510.06585
2015-10-22
Distributed, Parallel, and Cluster Computing
Abstract:Current computational systems are heterogeneous by nature, featuring a combination of CPUs and GPUs. As the latter are becoming an established platform for high-performance computing, the focus is shifting towards the seamless programming of these hybrid systems as a whole. The distinct nature of the architectural and execution models in place raises several challenges, as the best hardware configuration is behaviour and workload dependent. In this paper, we address the execution of compound, multi-kernel, OpenCL computations in multi-CPU/multi-GPU environments. We address how these computations may be efficiently scheduled onto the target hardware, and how the system may adapt itself to changes in the workload to process and to fluctuations in the CPU's load. An experimental evaluation attests the performance gains obtained by the conjoined use of the CPU and GPU devices, when compared to GPU-only executions, and also by the use of data-locality optimizations in CPU environments.
What problem does this paper attempt to address?