Semantical interprocedural parallelization: an overview of the PIPS project

PIPS is an experhnental FORTRAN source-to-source parallelizer that combines the goal of exploring interprocedural and semantical analysis with a requirement for compilation speed. We present in this paper the main features of PIPS, i.e., demand-driven architecture, automatic support for multiple implementation languages, structured control graph, predicates and regions for interprocedural analysis and global nested loop paralle~lzation, with an emphasis on its core data structures and transformation phases. Some preliminary results on the practical impact of our design choices are discussed. This research is partially funded by DRET, under contract 87-017.

[1]  Nicolas Halbwachs,et al.  Automatic discovery of linear restraints among variables of a program , 1978, POPL.

[2]  Paul Feautrier,et al.  Direct parallelization of call statements , 1986, SIGPLAN '86.

[3]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1984, TOPL.

[4]  Micha Sharir,et al.  Structural Analysis: A New Approach to Flow Analysis in Optimizing Compilers , 2015 .

[5]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1987, TOPL.

[6]  Pen-Chung Yew,et al.  Intraprocedural and interprocedural data dependence analysis for parallel computing , 1989 .

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

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

[9]  François Irigoin,et al.  Supernode partitioning , 1988, POPL '88.

[10]  Ken Kennedy,et al.  Parascope:a Parallel Programming Environment , 1988 .

[11]  Paul Feautrier,et al.  Array expansion , 1988, ICS '88.

[12]  Nadia Tawbi,et al.  PMAC: an environment for parallel programming , 1991, [1991] Proceedings. The Fifth International Parallel Processing Symposium.

[13]  Pierre Jouvelot,et al.  A unified semantic approach for the vectorization and parallelization of generalized reductions , 1989, ICS '89.

[14]  Kevin Smith,et al.  Start/Pat: a parallel-programming toolkit , 1989, IEEE Software.

[15]  Ken Kennedy,et al.  A technique for summarizing data access and its use in parallelism enhancing transformations , 1989, PLDI '89.

[16]  P. Feautrier Array expansion , 1988 .

[17]  Barry K. Rosen,et al.  High-level data flow analysis , 1977, CACM.

[18]  Pierre Jouvelot,et al.  Reasoning about continuations with control effects , 1989, PLDI '89.

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

[20]  Joseph E. Stoy,et al.  Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory , 1981 .

[21]  Leslie Lamport,et al.  The parallel execution of DO loops , 1974, CACM.