## Symbolic Array Dataflow Analysis for Array Privatization and Program Parallelization (1995)

### Cached

### Download Links

- [www.cs.purdue.edu]
- [www.chg.ru]
- [www.cs.purdue.edu]
- [www-users.cs.umn.edu]
- [www-users.cs.umn.edu]
- [ftp-mount.ee.umn.edu]
- [www.chg.ru]
- DBLP

### Other Repositories/Bibliography

Venue: | PROCEEDINGS OF SUPERCOMPUTING '95 |

Citations: | 33 - 5 self |

### BibTeX

@INPROCEEDINGS{Gu95symbolicarray,

author = {Junjie Gu and Zhiyuan Li and Gyungho Lee},

title = {Symbolic Array Dataflow Analysis for Array Privatization and Program Parallelization},

booktitle = {PROCEEDINGS OF SUPERCOMPUTING '95},

year = {1995},

publisher = {}

}

### Years of Citing Articles

### OpenURL

### Abstract

Array dataflow information plays an important role for successful automatic parallelization of Fortran programs. This paper proposes a powerful symbolic array dataflow analysis to support arrayprivatization and loop parallelization for programs with arbitrary control flow graphs and acyclic call graphs. Our scheme summarizes array access information using guarded array regions and propagates such regions over a Hierarchical Supergraph (HSG). The use of guards allows us to use the information in IF conditions to sharpen the array dataflow analysis and thereby to handle difficult cases which elude other existing techniques. The guarded array regions retain the simplicity of set operations for regular array regions in common cases, and they enhance regular array regions in complicated cases by using guards to handle complex symbolic expressions and array shapes. Scalar values that appear in array subscripts and loop limits are substituted on the fly during the array information propagation, which disambiguates the symbolic values precisely for set operations. We present efficient algorithms that implement our scheme. Initial experiments of applying our analysis to Perfect Benchmarks show promising results of improved array privatization.

### Citations

448 | The omega test: a fast and practical integer programming algorithm for dependence analysis
- Pugh
- 1993
(Show Context)
Citation Context ...tion. The first one, numerical methods, establishes algebraic equations between array subscripts and determines whether the equations are solvable subject to the loop limits and dependence directions =-=[4, 5, 31, 24, 25, 19, 38]-=-. Numerical methods normally do not apply to array subscripts and loop limits that contain unknown symbolic terms[34]. The second approach, originally proposed to handle call statements, uses array ra... |

346 |
Dependence Analysis for Supercomputing
- Banerjee
- 1988
(Show Context)
Citation Context ...tion. The first one, numerical methods, establishes algebraic equations between array subscripts and determines whether the equations are solvable subject to the loop limits and dependence directions =-=[4, 5, 31, 24, 25, 19, 38]-=-. Numerical methods normally do not apply to array subscripts and loop limits that contain unknown symbolic terms[34]. The second approach, originally proposed to handle call statements, uses array ra... |

293 | Automatic translation of FORTRAN programs to vector form
- Allen, Kennedy
- 1984
(Show Context)
Citation Context ...rary working space within an iteration and the array values in different iterations are unrelated. Using the same array for all iterations causes unnecessary loop-carried output and anti- dependences =-=[20, 2]-=- which prevent DO loops from being parallelized. Array privatization is a technique that creates a distinct copy of an array for each processor such that storage conflicts can be eliminated without vi... |

209 | Dataflow analysis of array and scalar references
- Feautrier
- 1991
(Show Context)
Citation Context ...e divided into two categories. The first one attempts to gather flow information for each array element and to acquire an exact, complete array data flow information for all array elements. Feautrier =-=[14]-=- suggests to establish a source function for each array use to indicate which definitions will define the value for each distinct array element of the array use reference. Maydan et al [27, 28] simpli... |

209 | An implementation of interprocedural bounded regular section analysis
- Havlak, Kennedy
- 1991
(Show Context)
Citation Context ...he second approach, originally proposed to handle call statements, uses array range triples to represent regular array regions which summarize the array elements accessed by one or several references =-=[10, 17, 3, 9]-=-. The third approach, which is the most general but also the most time consuming, represents the set of referenced array elements by a set of inequalities and equations and uses Fourier-Motzkin pairwi... |

203 | The PERFECT Club Benchmarks: Effective Performance Evaluation of Supercomputers
- Berry, Chen, et al.
- 1989
(Show Context)
Citation Context ...e such cases. In these three examples, privatizing the array A will make it possible to parallelize the I loops. Figure 1(a) shows a simplified version of a loop from the MDG program (routine interf) =-=[6]-=-. It is a difficult example which requires inferences between IF conditions. Although both A and B are privatizable, we will discuss A only, since B is a simple case. Suppose that the condition (kc:NE... |

120 | Automatic array privatization
- Tu, Padua
- 1993
(Show Context)
Citation Context ...tization requires a thorough analysis of array data flow and often involves the handling of routine calls. While the effects of IF conditions and CALL statements are shown to be important in practice =-=[22, 37]-=-, no existing works handle such cases. The examples in Figure 1 illustrate such cases. In these three examples, privatizing the array A will make it possible to parallelize the I loops. Figure 1(a) sh... |

118 |
A precise interprocedural data flow algorithm
- Myers
- 1981
(Show Context)
Citation Context ...this section, we present algorithms to calculate the MOD and UE information by propagating the GAR's over a hierarchical supergraph (HSG). The HSG in this paper is an enhancement of Myers' supergraph =-=[29]-=- which is a composition of the flow subgraphs of all routines in a program. In a supergraph, each call statement is represented by a node, termed a call node in this paper, which has an outgoing edge ... |

113 |
Loop Transformations for Restructuring Compilers: The Foundations
- Banerjee
- 1993
(Show Context)
Citation Context ...tion. The first one, numerical methods, establishes algebraic equations between array subscripts and determines whether the equations are solvable subject to the loop limits and dependence directions =-=[4, 5, 31, 24, 25, 19, 38]-=-. Numerical methods normally do not apply to array subscripts and loop limits that contain unknown symbolic terms[34]. The second approach, originally proposed to handle call statements, uses array ra... |

108 |
Analysis of interprocedural side effects in a parallel programming environment
- Callahan, Kennedy
- 1988
(Show Context)
Citation Context ...he second approach, originally proposed to handle call statements, uses array range triples to represent regular array regions which summarize the array elements accessed by one or several references =-=[10, 17, 3, 9]-=-. The third approach, which is the most general but also the most time consuming, represents the set of referenced array elements by a set of inequalities and equations and uses Fourier-Motzkin pairwi... |

104 | Performance analysis of parallelizing compilers on the Perfect benchmarks programs
- Blume, Eigenman
- 1992
(Show Context)
Citation Context ...ral analysis, array privatization, symbolic analysis. 1 Introduction Recent experiments show that there exists significant performance difference between automatically and manually parallelized codes =-=[7, 8]-=-. One important factor causing such a discrepancy is related to array variables. Quite often, array elements written in one iteration of a DO loop are used in the same iteration before being overwritt... |

92 | Experience in the Automatic Parallelization of Four PerfectBenchmark Programs
- Eigenmann, Hoeflinger, et al.
- 1991
(Show Context)
Citation Context ... array for each processor such that storage conflicts can be eliminated without violating program semantics. Table 1 summarizes the effect of array privatization on five Perfect benchmarking programs =-=[22, 13, 12]-=-. The fourth column of Table 1 shows the percentage of the sequential execution time (over the whole program) of each loop which is made parallel after array privatization. This percentage indicates t... |

90 |
Array dataflow analysis and its use in array privatization
- Maydan, Amarasinghe, et al.
- 1993
(Show Context)
Citation Context ...re its use in the same iteration I. Therefore, A is privatizable in loop I. Figure 1(b) illustrates a simplified version of a segment of the ARC2D program(routine filerx)[6]. Using existing algorithms=-=[27, 22, 37]-=-, an use of A(jmax) will be deemed as possibly upwards exposed [1, ch 10] in each iteration, and A(jmax) is also deemed as possibly written in the previous iterations. Therefore the existing algorithm... |

88 |
Semantical interprocedural parallelization: an overview of the PIPS project
- Irigoin, Jouvelot, et al.
- 1991
(Show Context)
Citation Context ...es of DO loops and routines, a hierarchy is derived among the HSG nodes, with the flow subgraph at the highest level representing the main program. The HSG resembles the HSCG used by the PIPS project =-=[18]-=-. Figure 3 and Figure 5 show two HSG examples. Note that the flow subgraph of a routine is never duplicated for different calls to the same routine unless the called routine is duplicated to enhance i... |

80 | An exact method for the analysis of value-based array data dependences
- PUGH, WONNACOTT
- 1993
(Show Context)
Citation Context ...aydan et al [27, 28] simplify Feautrier's method by using a Last-Write-Tree(LWT). Duesterwald et al [11] compute the dependence distance for each reaching definition within a loop. Pugh and Wonnacott =-=[32]-=- use a set of constraints to describe array dataflow problems and solve them basically by Fourier-Motzkin variable elimination. Most works in this category so far do not handle IF statements, symbolic... |

77 |
Data Dependence and its Application to Parallel Processing
- Wolfe, Banerjee
- 1987
(Show Context)
Citation Context |

73 |
Eliminating false data dependences using the omega test
- Pugh, Wonnacott
- 1992
(Show Context)
Citation Context ...ise elimination or integer programming to determine the feasibility of the set [21, 36, 35, 31]. The third approach can take IF conditions into account, while the other two do not. Pugh and Wonnacott =-=[30]-=- also discuss an extension of the Omega test [31] which computes certain array reaching-definitions for special cases without IF statements. In this paper, we adopt a combination of the array range tr... |

64 | Array privatization for parallel execution of loops
- Li
- 1992
(Show Context)
Citation Context ... array for each processor such that storage conflicts can be eliminated without violating program semantics. Table 1 summarizes the effect of array privatization on five Perfect benchmarking programs =-=[22, 13, 12]-=-. The fourth column of Table 1 shows the percentage of the sequential execution time (over the whole program) of each loop which is made parallel after array privatization. This percentage indicates t... |

57 | A practical data flow framework for array reference analysis and its use in optimizations
- Duesterwald, Gupta, et al.
- 1993
(Show Context)
Citation Context ...hich definitions will define the value for each distinct array element of the array use reference. Maydan et al [27, 28] simplify Feautrier's method by using a Last-Write-Tree(LWT). Duesterwald et al =-=[11]-=- compute the dependence distance for each reaching definition within a loop. Pugh and Wonnacott [32] use a set of constraints to describe array dataflow problems and solve them basically by Fourier-Mo... |

53 | Structured dataflow analysis for arrays and its use in an optimizing compilers
- Gross, Steenkiste
- 1990
(Show Context)
Citation Context ...e, called a regular array region or section, is treated as a single unit. Simple set operations such as union, intersection, and difference, are performed on such units. Works by Gross and Steenkiste =-=[16]-=-, Rosene [33], Li [22], Tu and Padua [37], and Granston and Veidenbaum [15], can roughly be included in this category. These works do not provide as many details about reaching-definitions as the firs... |

51 | An e�cient data dependence analysis for parallelizing compilers
- Li, Yew, et al.
- 1990
(Show Context)
Citation Context |

48 |
A mechanism for keeping useful internal information in parallel programming tools: The data access descriptor
- Balasundaram
- 1990
(Show Context)
Citation Context ...he second approach, originally proposed to handle call statements, uses array range triples to represent regular array regions which summarize the array elements accessed by one or several references =-=[10, 17, 3, 9]-=-. The third approach, which is the most general but also the most time consuming, represents the set of referenced array elements by a set of inequalities and equations and uses Fourier-Motzkin pairwi... |

45 |
The Structure of Computers and
- Kuck
- 1978
(Show Context)
Citation Context ...rary working space within an iteration and the array values in different iterations are unrelated. Using the same array for all iterations causes unnecessary loop-carried output and anti- dependences =-=[20, 2]-=- which prevent DO loops from being parallelized. Array privatization is a technique that creates a distinct copy of an array for each processor such that storage conflicts can be eliminated without vi... |

39 |
Detecting redundant accesses to array data
- Granston, Veidenbaum
- 1991
(Show Context)
Citation Context ...imple set operations such as union, intersection, and difference, are performed on such units. Works by Gross and Steenkiste [16], Rosene [33], Li [22], Tu and Padua [37], and Granston and Veidenbaum =-=[15]-=-, can roughly be included in this category. These works do not provide as many details about reaching-definitions as the first category. However, they handle more complex program constructs such as IF... |

34 | Symbolic analysis techniques needed or the e�ective parallelization of Perfect benchmarks
- Blume, Eigenmann
- 1994
(Show Context)
Citation Context ...ral analysis, array privatization, symbolic analysis. 1 Introduction Recent experiments show that there exists significant performance difference between automatically and manually parallelized codes =-=[7, 8]-=-. One important factor causing such a discrepancy is related to array variables. Quite often, array elements written in one iteration of a DO loop are used in the same iteration before being overwritt... |

33 | An empirical study of Fortran programs for parallelizing compilers
- Shen, Li, et al.
- 1990
(Show Context)
Citation Context ...olvable subject to the loop limits and dependence directions [4, 5, 31, 24, 25, 19, 38]. Numerical methods normally do not apply to array subscripts and loop limits that contain unknown symbolic terms=-=[34]-=-. The second approach, originally proposed to handle call statements, uses array range triples to represent regular array regions which summarize the array elements accessed by one or several referenc... |

32 | The Structure of Computers and Computations, volume 1 - Kuck - 1978 |

29 | Accurate Analysis of Array References
- Maydan
- 1992
(Show Context)
Citation Context ... Feautrier [14] suggests to establish a source function for each array use to indicate which definitions will define the value for each distinct array element of the array use reference. Maydan et al =-=[27, 28]-=- simplify Feautrier's method by using a Last-Write-Tree(LWT). Duesterwald et al [11] compute the dependence distance for each reaching definition within a loop. Pugh and Wonnacott [32] use a set of co... |

28 |
The I test: An improved dependence test for automatic parallelization and vectorization
- Kong, Klappholz, et al.
- 1991
(Show Context)
Citation Context |

27 | Lazy array data-flow dependence analysis
- Maslov
- 1994
(Show Context)
Citation Context ...olic expressions, or routine calls because these complications make the computation of source functions, LWT's, dependence distances, or the operations on constraints more difficult. Recently, Maslov =-=[26]-=- extends the previous works in this category by handling certain IF conditions, but he restricts the program to be well structured and to have no multiple exits from structures, which is not the case ... |

26 |
Incremental dependence analysis
- Rosene
- 1990
(Show Context)
Citation Context ...egular array region or section, is treated as a single unit. Simple set operations such as union, intersection, and difference, are performed on such units. Works by Gross and Steenkiste [16], Rosene =-=[33]-=-, Li [22], Tu and Padua [37], and Granston and Veidenbaum [15], can roughly be included in this category. These works do not provide as many details about reaching-definitions as the first category. H... |

19 | Data ow analysis of array and scalar references - Feautrier - 1991 |

16 |
Interprocedural analysis for program restructuring with parafrase
- Triolet
- 1985
(Show Context)
Citation Context ...ng, represents the set of referenced array elements by a set of inequalities and equations and uses Fourier-Motzkin pairwise elimination or integer programming to determine the feasibility of the set =-=[21, 36, 35, 31]-=-. The third approach can take IF conditions into account, while the other two do not. Pugh and Wonnacott [30] also discuss an extension of the Omega test [31] which computes certain array reaching-def... |

12 |
Optimization and Interconnection Complexity for: Parallel Processors, Single-Stage Networks, and Decision Trees
- Kuhn
- 1980
(Show Context)
Citation Context ...ng, represents the set of referenced array elements by a set of inequalities and equations and uses Fourier-Motzkin pairwise elimination or integer programming to determine the feasibility of the set =-=[21, 36, 35, 31]-=-. The third approach can take IF conditions into account, while the other two do not. Pugh and Wonnacott [30] also discuss an extension of the Omega test [31] which computes certain array reaching-def... |

12 | Analysis of interprocedural side e ects in a parallel programming environment - Callahan, Kennedy - 1988 |

10 | Symbolic Analysis Techniques Needed for the E ective Parallelization of the Perfect Benchmarks - Blume, Eigenmann - 1994 |

8 | The Perfect club benchmarks: E ective performance evaluation of supercomputers - Berry, Chen, et al. - 1989 |

8 | Array data-�ow analysis and its use in array privatization - Maydan, Amarasinghe, et al. - 1993 |

7 | Analysis of interprocedural side e�ects in a parallel programming environment - Callahan, Kennedy - 1986 |

5 | A precise interprocedural data-�ow algorithm - Myers - 1981 |

4 |
Practical methods for exact data dependence analysis
- Li, Yew
- 1991
(Show Context)
Citation Context |

4 | Structured data�ow analysis for arrays and its use in an optimizing compiler - Gross, Steenkiste - 1990 |

4 | Lazy array data- ow dependence analysis - Maslov - 1994 |

3 |
Propagating symbolic relations on an interprocedural and hierarchical control �ow graph
- Li
- 1993
(Show Context)
Citation Context ...ults for array privatization from some of the Perfect benchmark programs. The array dataflow analysis is built upon the interprocedural scalar reachingdefinition chains and the Hierarchical Supergraph=-=[23]-=-. Several conventional data dependence tests are also implemented. The more expensive array dataflow analysis is applied only to loops whose parallelizability cannot be determined by the conventional ... |

3 |
Direct parallelization of CALL statments
- Triolet, Irigoin, et al.
- 1986
(Show Context)
Citation Context ...ng, represents the set of referenced array elements by a set of inequalities and equations and uses Fourier-Motzkin pairwise elimination or integer programming to determine the feasibility of the set =-=[21, 36, 35, 31]-=-. The third approach can take IF conditions into account, while the other two do not. Pugh and Wonnacott [30] also discuss an extension of the Omega test [31] which computes certain array reaching-def... |

3 | So a, \A practical data ow framework for array reference analysis - Duesterwald, Gupta, et al. - 1993 |

3 | An e cient data dependence analysis for parallelizing compilers - Li, Yew, et al. - 1990 |

1 |
The range test: A dependence test for non-linear expressions
- Blume, Eigenmann
- 1994
(Show Context)
Citation Context |

1 |
Experience with Fortran program restructuring for Cedar multiprocessor
- Eigenmann, Hoe�inger, et al.
- 1993
(Show Context)
Citation Context ... array for each processor such that storage conflicts can be eliminated without violating program semantics. Table 1 summarizes the effect of array privatization on five Perfect benchmarking programs =-=[22, 13, 12]-=-. The fourth column of Table 1 shows the percentage of the sequential execution time (over the whole program) of each loop which is made parallel after array privatization. This percentage indicates t... |

1 | Experience in the automatic parallelization offourPerfect benchmark programs - Eigenmann, inger, et al. - 1992 |