Automatic parallelization using the value evolution graph

  • Authors:
  • Silvius Rus;Dongmin Zhang;Lawrence Rauchwerger

  • Affiliations:
  • Parasol Laboratory, Department of Computer Science, Texas A&M University;Parasol Laboratory, Department of Computer Science, Texas A&M University;Parasol Laboratory, Department of Computer Science, Texas A&M University

  • Venue:
  • LCPC'04 Proceedings of the 17th international conference on Languages and Compilers for High Performance Computing
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

We introduce a framework for the analysis of memory reference sets addressed by induction variables without closed forms. This framework relies on a new data structure, the Value Evolution Graph (VEG), which models the global flow of scalar and array values within a program. We describe the application of our framework to array data-flow analysis, privatization, and dependence analysis. This results in the automatic parallelization of loops that contain arrays indexed by induction variables without closed forms. We implemented this framework in the Polaris research compiler. We present experimental results on a set of codes from the PERFECT, SPEC, and NCSA benchmark suites.