Towards a Tunable Multi-Backend Skeleton Programming Framework for Multi-GPU Systems

Johan Enmyren, Usman Dastgeer, Christoph W. Kessler
Dept. of Computer and Information Science, Linkoping University
Third Swedish Workshop on Multicore Computing (MCC-2010), 2010


   title={Towards a Tunable Multi-Backend Skeleton Programming Framework for Multi-GPU Systems},

   author={Enmyren, Johan and Dastgeer, Usman and Kessler, Christoph W.},



Download Download (PDF)   View View   Source Source   



SkePU is a C++ template library that provides a simple and unified interface for specifying data-parallel computations with the help of skeletons on GPUs using CUDA and OpenCL. The interface is also general enough to support other architectures, and SkePU implements both a sequential CPU and a parallel OpenMP backend. It also supports multi-GPU systems. Currently available skeletons in SkePU include map, reduce, mapreduce, map-with-overlap, map-array, and scan. The performance of SkePU generated code is comparable to that of hand-written code, even for more complex applications such as ODE solving. In this paper, we describe how to make SkePU tunable, by adding the mechanism of execution plans that can configure a skeleton so that, at run time, the predicted best suitable resource and platform is chosen automatically, depending on operand data sizes. We also discuss how the approach can be extended to provide a fully auto-tunable skeleton programming system, which is a work in progress.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: