Interprocedural Array Region Analyses

Many program optimizations require exact knowledge of the sets of array elements that are referenced in or that ow between state ments or procedures Some examples are array privatization generation of communications in distributed memory machines or compile time op timization of cache behavior in hierarchical memory machines Exact array region analysis is introduced in this article These regions exactly represent the e ects of statements and procedures upon array variables To represent the ow of these data we also introduce two new types of array region analyses IN and OUT regions The intraprocedural propagation is presented as well as a general linear framework for interprocedural analyses which handles array reshapes The intra and inter procedural propagation of array regions is imple mented in pips the interprocedural parallelizer of fortran programs developed at Ecole des mines de Paris

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

[2]  Peiyi Tang Exact side effects for interprocedural dependence analysis , 1993, ICS '93.

[3]  François Irigoin Interprocedural analyses for programming environments , 1993 .

[4]  William Pugh,et al.  A practical algorithm for exact array dependence analysis , 1992, CACM.

[5]  Zhiyuan Li Array privatization for parallel execution of loops , 1992, ICS.

[6]  In and out Array Region Analyses , 1995 .

[7]  Ken Kennedy,et al.  An Implementation of Interprocedural Bounded Regular Section Analysis , 1991, IEEE Trans. Parallel Distributed Syst..

[8]  William Pugh,et al.  Eliminating false data dependences using the Omega test , 1992, PLDI '92.

[9]  W. Kent Fuchs,et al.  Compiler‐assisted full checkpointing , 1994, Softw. Pract. Exp..

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

[11]  Gyungho Lee,et al.  Symbolic Array Dataflow Analysis for Array Privatization and Program Parallelization , 1995, Proceedings of the IEEE/ACM SC95 Conference.

[12]  Corinne Ancourt,et al.  Optimal Compilation of HPF Remappings , 1996, J. Parallel Distributed Comput..

[13]  Ken Kennedy,et al.  Compiler support for out-of-core arrays on parallel machines , 1995, Proceedings Frontiers '95. The Fifth Symposium on the Frontiers of Massively Parallel Computation.

[14]  Monica S. Lam,et al.  Interprocedural Analysis for Parallelization , 1995, LCPC.

[15]  Zhiyuan Li,et al.  An Interprocedural Parallelizing Compiler and Its Support for Memory Hierarchy Research , 1995, LCPC.

[16]  Geoffrey C. Fox,et al.  The Perfect Club Benchmarks: Effective Performance Evaluation of Supercomputers , 1989, Int. J. High Perform. Comput. Appl..

[17]  William Pugh,et al.  Simplifying Polynominal Constraints Over Integers to Make Dependence Analysis More Precise , 1994, CONPAR.

[18]  Thomas Brandes The importance of direct dependences for automatic parallelization , 1988, ICS '88.

[19]  Corinne Ancourt,et al.  Scanning polyhedra with DO loops , 1991, PPOPP '91.

[20]  Fabien Coelho Compilation of I/O communications for HPF , 1995, Proceedings Frontiers '95. The Fifth Symposium on the Frontiers of Massively Parallel Computation.

[21]  Ken Kennedy,et al.  Analysis of interprocedural side effects in a parallel programming environment , 1988, J. Parallel Distributed Comput..

[22]  Pierre Jouvelot,et al.  Semantical interprocedural parallelization: an overview of the PIPS project , 1991 .

[23]  Rudolf Eigenmann,et al.  Performance Analysis of Parallelizing Compilers on the Perfect Benchmarks Programs , 1992, IEEE Trans. Parallel Distributed Syst..