Tile Reduction: The First Step towards Tile Aware Parallelization in OpenMP

  • Authors:
  • Ge Gan;Xu Wang;Joseph Manzano;Guang R. Gao

  • Affiliations:
  • Dep. of Electrical and Computer Engineering, University of Delaware, Newark, U.S.A. 19716;Dep. of Electrical Engineering, Jilin University, Jilin, China 130000;Dep. of Electrical and Computer Engineering, University of Delaware, Newark, U.S.A. 19716;Dep. of Electrical and Computer Engineering, University of Delaware, Newark, U.S.A. 19716

  • Venue:
  • IWOMP '09 Proceedings of the 5th International Workshop on OpenMP: Evolving OpenMP in an Age of Extreme Parallelism
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Tiling is widely used by compilers and programmer to optimize scientific and engineering code for better performance. Many parallel programming languages support tile/tiling directly through first-class language constructs or library routines. However, the current OpenMP programming language is tile oblivious , although it is the de facto standard for writing parallel programs on shared memory systems. In this paper, we introduce tile aware parallelization into OpenMP. We propose tile reduction , an OpenMP tile aware parallelization technique that allows reduction to be performed on multi-dimensional arrays. The paper has three contributions: (a) it is the first paper that proposes and discusses tile aware parallelization in OpenMP. We argue that, it is not only necessary but also possible to have tile aware parallelization in OpenMP; (b) the paper introduces the methods used to implement tile reduction, including the required OpenMP API extension and the associated code generation techniques; (c) we have applied tile reduction on a set of benchmarks. The experimental results show that tile reduction can make parallelization more natural and flexible. It not only can expose more parallelism in a program, but also can improve its data locality.