A Static Task Partitioning Approach for Heterogeneous Systems Using OpenCL

  • Dominik Grewe
  • Michael F. P. O’Boyle
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6601)

Abstract

Heterogeneous multi-core platforms are increasingly prevalent due to their perceived superior performance over homogeneous systems. The best performance, however, can only be achieved if tasks are accurately mapped to the right processors. OpenCL programs can be partitioned to take advantage of all the available processors in a system. However, finding the best partitioning for any heterogeneous system is difficult and depends on the hardware and software implementation.

We propose a portable partitioning scheme for OpenCL programs on heterogeneous CPU-GPU systems. We develop a purely static approach based on predictive modelling and program features. When evaluated over a suite of 47 benchmarks, our model achieves a speedup of 1.57 over a state-of-the-art dynamic run-time approach, a speedup of 3.02 over a purely multi-core approach and 1.55 over the performance achieved by using just the GPU.

Keywords

Heterogeneous programming task partitioning OpenCL parallel programming static code analysis 

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Dominik Grewe
    • 1
  • Michael F. P. O’Boyle
    • 1
  1. 1.School of InformaticsThe University of EdinburghUK

Personalised recommendations