Automatic parallelization using the value evolution graph

Silvius Rus, Dongmin Zhang, Lawrence Rauchwerger

Research output: Contribution to journalConference articlepeer-review

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.

Original languageEnglish (US)
Pages (from-to)379-393
Number of pages15
JournalLecture Notes in Computer Science
Volume3602
DOIs
StatePublished - 2005
Externally publishedYes
Event17th International Workshop on Languages and Compilers for High Performance Computing, LCPC 2004 - West Lafayette, IN, United States
Duration: Sep 22 2004Sep 24 2004

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Automatic parallelization using the value evolution graph'. Together they form a unique fingerprint.

Cite this