Flexible runtime support for efficient skeleton programming on hybrid systems

Abstract : SkePU is a skeleton programming framework for multicore CPU and multi-GPU systems. StarPU is a runtime system that provides dynamic scheduling and memory management support for heterogeneous, accelerator-based systems. We have implemented support for StarPU as a possible backend for SkePU while keeping the generic SkePU interface intact. The mapping of a SkePU skeleton call to one or more StarPU tasks allows StarPU to exploit independence between different skeleton calls as well as within a single skeleton call. Support for different StarPU features, such as data partitioning and different scheduling policies (e.g. history based performance models) is implemented and discussed in this paper. The integration proved beneficial for both StarPU and SkePU. StarPU got a high level interface to run data-parallel computations on it while SkePU has achieved dynamic scheduling and hybrid parallelism support. Several benchmarks including ODE solver, separable Gaussian blur filter, Successive Over-Relaxation (SOR) and Coulombic potential are implemented. Initial experiments show that we can even achieve super-linear speedups for realistic applications and can observe clear improvements in performance with the simultaneous use of both CPUs and GPU (hybrid execution).
Document type :
Conference papers
International conference on Parallel Computing (ParCo), Aug 2011, Gent, Belgium. 2011


https://hal.inria.fr/inria-00606200
Contributor : Samuel Thibault <>
Submitted on : Tuesday, July 5, 2011 - 4:24:51 PM
Last modification on : Tuesday, July 5, 2011 - 4:24:51 PM

Identifiers

  • HAL Id : inria-00606200, version 1

Collections

Citation

Usman Dastgeer, Christoph Kessler, Samuel Thibault. Flexible runtime support for efficient skeleton programming on hybrid systems. International conference on Parallel Computing (ParCo), Aug 2011, Gent, Belgium. 2011. <inria-00606200>

Export

Share

Metrics

Consultation de la notice

242