|
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 array privatization 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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
 |
2
|
|
| |
3
|
|
| |
4
|
|
| |
5
|
|
| |
6
|
M. Berry, D. Chen, P. Koss, D. Kuck, and S. Lo. the Perfect club benchmarks: Effective performance evaluation of supercomputers. Technical Report CSRD-827, University of Illinois, Urbana, IL, May 1989.
|
| |
7
|
|
| |
8
|
|
| |
9
|
William Blume and Rudolf Eigenmann. The range test: A dependence test for non-linear expressions. Technical Report CSRD-Report-1345, Center for Supercomputing Research and Development, University of Illinois at Urbana-Champaign, April 1994.
|
| |
10
|
D. Callahan and K. Kennedy. Analysis of interprocedural side effects in a parallel programming environment. In ACM SIGPLAN '86 Symp. Compiler Construction, pages 162-175, June 1986.
|
 |
11
|
Evelyn Duesterwald , Rajiv Gupta , Mary Lou Soffa, A practical data flow framework for array reference analysis and its use in optimizations, Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation, p.68-77, June 21-25, 1993, Albuquerque, New Mexico, United States
|
| |
12
|
R. Eigenmann, J. Hoe inger, G. Jaxon, Z. Li, and D. Padua. Experience with Fortran program restructuring for Cedar multiprocessor. Concurrency - Experience and Practice, 5(7):553-573, October 1993.
|
| |
13
|
R. Eigenmann, J. Hoe inger, Z. Li, and D. Padua. Experience in the automatic parallelization of four Perfect benchmark programs. In Lecture Notes in Computer Science, 589. Springer-Verlag, 1992.
|
| |
14
|
Paul Feautrier. Data ow analysis of array and scalar references. International Journal of Parallel Programming, 2(1):23-53, February 1991.
|
 |
15
|
|
| |
16
|
|
| |
17
|
|
 |
18
|
|
| |
19
|
|
| |
20
|
|
| |
21
|
|
 |
22
|
|
| |
23
|
Z. Li. Propagating symbolic relations on an interprocedural and hierarchical control ow graph. Technical Report CSci-93-87, Computer Science Department, University of Minnesota, Minneapolis, MN, 1993.
|
| |
24
|
|
| |
25
|
|
 |
26
|
|
 |
27
|
|
| |
28
|
|
 |
29
|
|
 |
30
|
|
 |
31
|
|
| |
32
|
Carl Rosene. Incremental dependence analysis. Technical Report CRPC-TR90044, PhD thesis, Computer Science Department, Rice University, March 1990.
|
| |
33
|
|
 |
34
|
Rémi Triolet , Francois Irigoin , Paul Feautrier, Direct parallelization of call statements, Proceedings of the 1986 SIGPLAN symposium on Compiler construction, p.176-185, June 25-27, 1986, Palo Alto, California, United States
|
| |
35
|
Remi Triolet. Interprocedural analysis for program restructuring with parafrase. Technical Report CSRD Rpt. No.538, Center for Supercomputing Research and Development, University of Illinois at Urbana-Champaign, December 1985.
|
| |
36
|
|
| |
37
|
|
CITED BY 14
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Silvius Rus , Guobin He , Christophe Alias , Lawrence Rauchwerger, Region array SSA, Proceedings of the 15th international conference on Parallel architectures and compilation techniques, September 16-20, 2006, Seattle, Washington, USA
|
|
|
|
|