Programming heterogeneous multicore systems using threading building blocks

  • Authors:
  • George Russell;Paul Keir;Alastair F. Donaldson;Uwe Dolinsky;Andrew Richards;Colin Riley

  • Affiliations:
  • Codeplay Software Ltd., Edinburgh, UK;School of Computing Science, University of Glasgow, UK;Computing Laboratory, University of Oxford, UK;Codeplay Software Ltd., Edinburgh, UK;Codeplay Software Ltd., Edinburgh, UK;Codeplay Software Ltd., Edinburgh, UK

  • Venue:
  • Euro-Par 2010 Proceedings of the 2010 conference on Parallel processing
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Intel's Threading Building Blocks (TBB) provide a high-level abstraction for expressing parallelism in applications without writing explicitly multi-threaded code. However, TBB is only available for shared-memory, homogeneous multicore processors. Codeplay's Offload C++ provides a single-source, POSIX threads-like approach to programming heterogeneous multicore devices where cores are equipped with private, local memories--code to move data between memory spaces is generated automatically. In this paper, we show that the strengths of TBB and Offload C++ can be combined, by implementing part of the TBB headers in Offload C++. This allows applications parallelised using TBB to run, without source-level modifications, across all the cores of the Cell BE processor. We present experimental results applying our method to a set of TBB programs. To our knowledge, this work marks the first demonstration of programs parallelised using TBB executing on a heterogeneous multicore architecture.