On Privatization of Variables for Data-Parallel Execution

  • Authors:
  • Manish Gupta

  • Affiliations:
  • -

  • Venue:
  • IPPS '97 Proceedings of the 11th International Symposium on Parallel Processing
  • Year:
  • 1997

Quantified Score

Hi-index 0.00

Visualization

Abstract

Privatization of data is an important technique that has been used bycompilers to parallelize loops by eliminating storage-related dependences. When a compiler partitions computations based on the ownership of data, selecting a proper mapping of privatizable data is cru- cial to obtaining the bene.ts of privatization. This pa- per presents a novel framework for privatizing scalar and array variables in the context of a data-driven ap- proach to parallelization. We show that there are nu- merous alternatives available for mapping privatized variables and the choice of mapping can signi.cantly a.ect the performance of the program. We present an algorithm that attempts to preserve parallelism and minimize communication overheads. We also introduce the concept of partial privatization of arrays that combines data partitioning and privatization, and enables e.cient handling of a class of codes with multi-dimensional data distribution that was not previously possible. Finally, we show how the ideas of privatization apply to the execution of control ow statements as well. An implementation of these ideas in the pHPF prototype compiler for High Performance Fortran on the IBM SP2 machine has shown impressive results.