Published March 25, 2019 | Version v1
Journal article Open

Hybrid CPU–GPU execution support in the skeleton programming framework SkePU

  • 1. Department of Computer and Information Science, Linköping University, Linköping, Sweden


In this paper, we present a hybrid execution backend for the skeleton programming framework SkePU. The backend is capable of automatically dividing the workload and simultaneously executing the computation on a multi-core CPU and any number of accelerators, such as GPUs. We show how to efficiently partition the workload of skeletons such as Map, MapReduce, and Scan to allow hybrid execution on heterogeneous computer systems. We also show a unified way of predicting how the workload should be partitioned based on performance modeling. With experiments on typical skeleton instances, we show the speedup for all skeletons when using the new hybrid backend. We also evaluate the performance on some real-world applications. Finally, we show that the new implementation gives higher and more reliable performance compared to an old hybrid execution implementation based on dynamic scheduling.




Files (1.8 MB)

Name Size Download all
1.8 MB Preview Download

Additional details


EXA2PRO – Enhancing Programmability and boosting Performance Portability for Exascale Computing Systems 801015
European Commission