High-level support for pipeline parallelism on many-core architectures

  • Authors:
  • Siegfried Benkner;Enes Bajrovic;Erich Marth;Martin Sandrieser;Raymond Namyst;Samuel Thibault

  • Affiliations:
  • Research Group Scientific Computing, University of Vienna, Austria;Research Group Scientific Computing, University of Vienna, Austria;Research Group Scientific Computing, University of Vienna, Austria;Research Group Scientific Computing, University of Vienna, Austria;LaBRI-INRIA Bordeaux Sud-Ouest, University of Bordeaux, Talence, France;LaBRI-INRIA Bordeaux Sud-Ouest, University of Bordeaux, Talence, France

  • Venue:
  • Euro-Par'12 Proceedings of the 18th international conference on Parallel Processing
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

With the increasing architectural diversity of many-core architectures the challenges of parallel programming and code portability will sharply rise. The EU project PEPPHER addresses these issues with a component-based approach to application development on top of a task-parallel execution model. Central to this approach are multi-architectural components which encapsulate different implementation variants of application functionality tailored for different core types. An intelligent runtime system selects and dynamically schedules component implementation variants for efficient parallel execution on heterogeneous many-core architectures. On top of this model we have developed language, compiler and runtime support for a specific class of applications that can be expressed using the pipeline pattern. We propose C/C++ language annotations for specifying pipeline patterns and describe the associated compilation and runtime infrastructure. Experimental results indicate that with our high-level approach performance comparable to manual parallelization can be achieved.