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
21
22
views
downloads
Views 21
Downloads 22
Data volume 40.1 MB
Unique views 21
Unique downloads 22

Share

Cite as