Journal article Open Access

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

Öhberg, Tomas; Ernstsson, August; Kessler, Christoph

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.

https://link.springer.com/article/10.1007/s11227-019-02824-7
Files (1.8 MB)
Name Size
Hybrid_CPU_GPU.pdf
md5:fc4e77e8f85f943dc1d3af70d9f2c1b8
1.8 MB Download
61
45
views
downloads
Views 61
Downloads 45
Data volume 81.9 MB
Unique views 57
Unique downloads 45

Share

Cite as