|
ABSTRACT
Automatic parallelization of real FORTRAN programs does not live up to users expectations yet, and dependence analysis algorithms which either produce too many false dependences or are too slow to contribute significantly to this. In this paper we introduce dataflow dependence analysis algorithm which exactly computes value-based dependence relations for program fragments in which all subscripts, loop bound and IF conditions are affine. Our algorithm also computes good affine approximations of dependence relations for non-affine program fragments. Actually, we do not know about any other algorithm which can compute better approximations.
And our algorithm is efficient too, because it is lazy. When searching for write statements that supply values used by a given read statement, it starts with statements which are lexicographically close to the read statement in iteration space. Then if some of the read statement instances are not “satisfied” with these close writes, the algorithm broadens its search scope by looking into more distant writes. The search scope keeps broadening until all read instances are satisfied or no write candidates are left.
We timed our algorithm on several benchmark programs and the timing results suggest that our algorithm is fast enough to be used in commercial compilers—it usually takes 5 to 15 percent of f77 -02 compilation time to analyze a program. Most programs in the 100-line range take less than 1 second to analyze on a SUN SparcStation IPX.
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.
 |
AK87
|
|
 |
AL93
|
|
| |
B+89
|
M. Berry et al. The PERFECT Club benchmarks: Effective performance evaluation of supercomputers. International Journal of Supercomputing Applications, 3(3):5--40, March 1989.
|
| |
Blu92
|
William Joseph Blume. Success And Limitations in Automatic Parallelization of the Perfect BenchmarksTM Programs. PhD thesis, Dept. of Computer Science, U. of Illinois at Urbana- Champaign, 1992. M.S. Thesis.
|
| |
EHLP91
|
|
| |
Fea88a
|
P. Feautrier. Parametric integer prograanming. Operationnelle/Operations Research, 22(3):243- 268, September 1988.
|
 |
Fea88b
|
|
| |
Fea91
|
Paul Feautder. Dataflow analysis of array and scalar references. International Journal o.f Parallel Programming, 20(1), February 1991.
|
| |
Fea92a
|
Paul Feantrier. Some efficient solutions to the a~ne scheduling problem, Part I, Onedimensional time. Technical Report 92.28, IBP/MASI, April 1992.
|
| |
Fea92b
|
Paul Feantrier. Some efficient solutions to the affine scheduling problem, Part II, Multidimensional time. Technical Report 92.78, IBP/MASI, Oct 1992.
|
| |
HP91
|
Mohammand Reza Haghighat and Costantine D. Polychronopoulos. Symbolic dependence analysis for high-performance parallelizing compilers, in Advances in Languages and Compilers for Parallel Processing, pages 310-330. The MIT Press, 1991.
|
| |
KP93
|
|
 |
LT88
|
|
 |
MAL93
|
|
| |
May92
|
Dror Eliezer Maydan. Accurate Analysis of Array References. PhD thesis, Computer Systems Laboratory, Stanford U., September 1992.
|
 |
MHL91
|
Dror E. Maydan , John L. Hennessy , Monica S. Lam, Efficient and exact data dependence analysis, Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation, p.1-14, June 24-28, 1991, Toronto, Ontario, Canada
|
| |
Mur71
|
|
 |
Pug91
|
|
 |
Pug92
|
|
| |
PW92
|
William Pugh and David Wonnacott. Going beyond integer programming with the Omega test to eliminate false data dependences. Technical Report CS-TR-2993, Dept. of Computer Science, University of Maryland, College Park, December 1992. An earlier version of this paper appeared at the SIGPLAN PLDI'92 conference.
|
| |
PW93a
|
|
| |
PW93b
|
|
| |
Voe92a
|
|
| |
Voe92b
|
Valentin V. Voevodin. Theory and practice of sequential programs parallelism investigation. Programmirovaniye (Programming and Computer Software), March 1992.
|
| |
Wol82
|
|
 |
Wol92
|
|
CITED BY 14
|
|
|
|
|
|
|
|
|
|
|
Evelyn Duesterwald , Rajiv Gupta , Mary Lou Soffa, Demand-driven computation of interprocedural data flow, Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.37-48, January 23-25, 1995, San Francisco, California, United States
|
|
|
Junjie Gu , Zhiyuan Li , Gyungho Lee, Symbolic array dataflow analysis for array privatization and program parallelization, Proceedings of the 1995 ACM/IEEE conference on Supercomputing (CDROM), p.47-es, December 04-08, 1995, San Diego, California, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mark Harman , Lin Hu , Malcolm Munro , Xingyuan Zhang , Dave Binkley , Sebastian Danicic , Mohammed Daoudi , Lahcen Ouarbya, Syntax-Directed Amorphous Slicing, Automated Software Engineering, v.11 n.1, p.27-61, January 2004
|
|
|
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
|
|
|
|
|
|
|
|