Improving the performance of OpenMP by array privatization

  • Authors:
  • Zhenying Liu;Barbara Chapman;Tien-Hsiung Weng;Oscar Hernandez

  • Affiliations:
  • Department of Computer Science, University of Houston;Department of Computer Science, University of Houston;Department of Computer Science, University of Houston;Department of Computer Science, University of Houston

  • Venue:
  • WOMPAT'03 Proceedings of the OpenMP applications and tools 2003 international conference on OpenMP shared memory parallel programming
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

The scalability of an OpenMP program in a ccNUMA system with a large number of processors suffers from remote memory accesses, cache misses and false sharing. Good data locality is needed to overcome these problems whereas OpenMP offers limited capabilities to control it on ccNUMA architecture. A so-called SPMD style OpenMP program can achieve data locality by means of array privatization, and this approach has shown good performance in previous research. It is hard to write SPMD OpenMP code; therefore we are building a tool to relieve users from this task by automatically converting OpenMP programs into equivalent SPMD style OpenMP. We show the process of the translation by considering how to modify array declarations, parallel loops, and showing how to handle a variety of OpenMP constructs including REDUCTION, ORDERED clauses and synchronization. We are currently implementing these translations in an interactive tool based on the Open64 compiler.