Incremental dependence analysis for interactive parallelization

Incrementally updating dependence information during interactive parallelization is a difficult proposition. We have developed a tool (PAT) that maintains dependence information during incremental transformations to a Fortran program, including loop parallelization, code <italic>replication, alignment</italic> and <italic>shifting</italic>, as well as <italic>insertion</italic> and <italic>deletion</italic> of code including parallel primitives. Our analysis is based on a variation on the standard approach to dependence graph generation, with program wide and local information separated in a <italic>sequential</italic> and a <italic>parallel</italic> dependence graph.

[1]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[2]  Kevin Smith,et al.  Interactive conversion of sequential to multitasking FORTRAN , 1989, ICS '89.

[3]  Utpal Banerjee,et al.  Dependence analysis for supercomputing , 1988, The Kluwer international series in engineering and computer science.

[4]  Ken Kennedy,et al.  Interactive parallelization of numerical scientific programs , 1989 .

[5]  Kevin Smith,et al.  PAT : An Interactive Fortran Parallelizing Assistant Tool , 1988, ICPP.

[6]  Ii C. D. Callahan A global approach to detection of parallelism , 1987 .

[7]  R. A. Towle,et al.  Control and data dependence for program transformations. , 1976 .

[8]  Ken Kennedy,et al.  Automatic translation of FORTRAN programs to vector form , 1987, TOPL.

[9]  Constantine D. Polychronopoulos,et al.  Parallel programming and compilers , 1988 .

[10]  Zhiyuan Li,et al.  Data dependence analysis on multi-dimensional array references , 1989, ICS '89.

[11]  John Randal Allen,et al.  Dependence analysis for subscripted variables and its application to program transformations , 1983 .

[12]  Michael Wolfe,et al.  Advanced Loop Interchanging , 1986, ICPP.

[13]  Gyungho Lee,et al.  The Effectiveness of Automatic Restructuring on Nonnumerical Programs , 1985, ICPP.

[14]  Jack J. Dongarra,et al.  Vectorizing compilers: a test suite and results , 1988, Proceedings. SUPERCOMPUTING '88.

[15]  Ken Kennedy,et al.  Conversion of control dependence to data dependence , 1983, POPL '83.

[16]  Ken Kennedy,et al.  Automatic decomposition of scientific programs for parallel execution , 1987, POPL '87.

[17]  Ken Kennedy,et al.  PTOOL : A Semi-Automatic Parallel Programming Assistant , 1986, International Conference on Parallel Processing.