next up previous
Next: Introduction

Detecting Coarse-Grain Parallelism Using an Interprocedural Parallelizing Compiler

Mary W. Hall, Saman P. Amarasinghe,
Brian R. Murphy, Shih-Wei Liao,
Monica S. Lam

# This research was supported in part by the Air Force Material Command and ARPA contract F30602-95-C-0098, ARPA contract DABT63-94-C-0054, an NSF CISE postdoctoral fellowship, Jet Propulsion Laboratory, fellowships from Intel Corporation and AT&T Bell Laboratories, and an NSF Young Investigator Award. # This research was supported in part by the Air Force Material Command and ARPA contract F30602-95-C-0098, ARPA contract DABT63-94-C-0054, an NSF CISE postdoctoral fellowship, Jet Propulsion Laboratory, fellowships from Intel Corporation and AT&T Bell Laboratories, and an NSF Young Investigator Award.

Abstract:

This paper presents an extensive empirical evaluation of an interprocedural parallelizing compiler, developed as part of the Stanford SUIF compiler system. The system incorporates a comprehensive and integrated collection of analyses, including privatization and reduction recognition for both array and scalar variables, and symbolic analysis of array subscripts. The interprocedural analysis framework is designed to provide analysis results nearly as precise as full inlining but without its associated costs.

Experimentation with this system shows that it is capable of detecting coarser granularity of parallelism than previously possible. Specifically, it can parallelize loops that span numerous procedures and hundreds of lines of codes, frequently requiring modifications to array data structures such as privatization and reduction transformations. Measurements from several standard benchmark suites demonstrate that an integrated combination of interprocedural analyses can substantially advance the capability of automatic parallelization technology.





Saman Amarasinghe
Fri Sep 15 09:15:06 PDT 1995