MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Efficient interprocedural array data-flow analysis for automatic program parallelization (2000) [7 citations — 0 self]

Download:
Download as a PDF | Download as a PS
by Junjie Gu, Zhiyuan Li
IEEE Transactions on Software Engineering
http://www.cs.purdue.edu/homes/li/draft/ieeese.ps
Add To MetaCart

Abstract:

z Since sequential languages such as Fortran and C are more machine-independent than current parallel languages, it is highly desirable to develop powerful parallelization tools which can generate parallel codes, automatically or semi-automatically, targeting different parallel architectures. Array data-flow analysis is known to be crucial to the success of automatic parallelization. Such an analysis should be performed interprocedurally and symbolically, and it often needs to handle the predicates represented by IF conditions. Unfortunately, such a powerful program analysis can be extremely time-consuming if not carefully designed. How to enhance the efficiency of this analysis to a practical level remains an issue largely untouched to date. This paper presents techniques for efficient interprocedural array data-flow analysis and documents experimental results of its implementation in a research parallelizing compiler. Our techniques are based on guarded array regions and the resulting tool runs faster, by one or two orders of magnitude, than other similarly powerful tools.

Citations

357 Efficient Context-Sensitive Pointer Analysis for C Programs – Wilson, Lam - 1995
342 Context-sensitive interprocedural points-to analysis in the presence of function pointers – Emami, Ghiya, et al.
311 A Safe Approximate Algorithm for Interprocedural Pointer Aliasing – Landi, Ryder - 1992
222 Maximizing Multiprocessor Performance with the SUIF Compiler – Hall, Anderson, et al. - 1996
213 others. The PERFECT club benchmarks: Effective performance evaluation of supercomputers – Berry - 1989
199 An implementation of interprocedural bounded regular section analysis – Havlak, Kennedy - 1991
192 Interprocedural May-Alias Analysis for Pointers: Beyond k-Limiting – Deutsch - 1994
187 Efficient flow-sensitive interprocedural computation of pointer-induced aliases and side effects – Choi, Burke, et al. - 1993
183 Dataflow analysis of array and scalar references – Feautrier - 1991
144 Parallel programming with Polaris – Blume, Doallo, et al. - 1996
126 Context-insensitive alias analysis reconsidered – Ruf - 1995
125 Automatic array privatization – Tu, Padua - 1993
116 Analysis of interprocedural side effects in a parallel programming environment – CALLAHAN, K - 1988
116 A schema for interprocedural modification side-effect analysis with pointer aliasing – Ryder, Landi, et al. - 2001
114 A precise inter-procedural data flow algorithm – Myers - 1981
103 Experience in the automatic parallelization of four Perfect-Benchmark programs – Eigenmann, Hoeflinger, et al. - 1991
101 Direct parallelization of CALL statements – Triolet, Irigoin, et al. - 1986
93 Array data-flow analysis and its use in array privatization – MAYDAN, AMARASINGHE, et al. - 1993
79 An exact method for analysis of valuebased array data dependences – Pugh, Wonnacott - 1993
77 Semantical interprocedural parallelization: An overview of the PIPS project – IRIGOIN, JOUVELOT, et al. - 1991
73 Array privatization for parallel execution of loops – Li - 1992
66 Gated SSA-based demand-driven symbolic analysis for parallelizing compilers – TU, A - 1995
61 Interprocedural array region analyses – CREUSILLET, F - 1995
59 Sh-uctured dataflow analysis for arrays and its use in an optimizing compiler – Gross, Steenkiste
58 A practical data flow framework for array reference analysis and its application in optimization – DUESTERWALD, GUPTA, et al. - 1993
56 A mechanism for keeping useful internal information in parallel programming tools: The data access descriptor – Balasundaram - 1990
44 Program decomposition for pointer aliasing: A step toward practical analyses – Zhang, Ryder, et al. - 1996
43 An overview of symbolic analysis techniques needed for the effective parallelization of the PERFECT benchmarks – Blume, Eigenmann - 1994
37 Symbolic array dataflow analysis for array privatization and program parallelization – Gu, Li, et al. - 1995
36 Symbolic Evaluation and the Analysis of Programs – Cheatham, Holloway, et al. - 1979
36 On the Automatic Parallelization of the Perfect Benchmarks – Eigenmann, Hoeflinger, et al. - 1998
36 Interprocedural analysis for parallelization – HALL, MURPHY, et al. - 1995
33 Accurate Analysis of Array References – Maydan - 1992
31 The Structure of Computers and Computations. Volume 1 – Kuck - 1978
30 Incremental Dependence Analysis – Rosene - 1990
28 Lazy array data-flow dependence analysis – Maslov - 1994
22 Applications of symbolic evaluation – Clarke, Richardson - 1985
21 Interprocedural analysis for program restructuring with Parafrase – Triolet - 1985
12 An interprocedural parallelizing compiler and its support for memory hierarchy research – NGUYEN, GU, et al. - 1995
6 Program parallelization with interprocedural analysis – Li, Yew - 1988
3 Interprocedural analysis for parallel computing – Li, Yew - 1988
1 Symbolic dependence analysis for parallelizing compilers – Haghighat, Polychronopoulos - 1994