This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
An Efficient Data Dependence Analysis for Parallelizing Compilers
January 1990 (vol. 1 no. 1)
pp. 26-34

A novel algorithm, called the lambda test, is presented for an efficient and accurate data dependence analysis of multidimensional array references. It extends the numerical methods to allow all dimensions of array references to be tested simultaneously. Hence, it combines the efficiency and the accuracy of both approaches. This algorithm has been implemented in Parafrase, a Fortran program parallelization restructurer developed at the University of Illinois at Urbana-Champaign. Some experimental results are presented to show its effectiveness.

[1] J. R. Allen, "Dependence analysis for subscripted variables and its application to program transformations," Ph.D. dissertation, Dept. Math. Sci., Rice Univ., May 1983.
[2] J. R. Allen and K. Kennedy, "Automatic translation of Fortran programs to vector form," Dep. Comput. Sci., Rice Univ., Houston, TX, Rice Comp TR84-9, July 1984.
[3] U. Banerjee, "Data dependence in ordinary programs," Dep. Comput. Sci., Univ. Illinois, Urbana-Champaign, Rep. No. 76-837, Nov. 1976.
[4] U. Banerjee, "Speedup of ordinary programs," Ph.D dissertation, Dep. Comput. Sci. Univ. Illinois, Urbana-Champaign, Rep. No. UIUCDCS-R-79-989, 1979.
[5] U. Banerjee,Dependence Analysis for Supercomputing, Kluwer Academic Publishers, Norwell, Mass., 1988.
[6] P. Cousot and N. Halbwacks, "Automatic discovery of linear restraints among variables of a program,"Conf. Record 5th Annu. ACM Symp. Principle Program Languages, 1978.
[7] G. B. Dantzig,Linear Programming and Extensions. Princeton, NJ: Princeton University Press, 1963.
[8] N. Karmarkar, "A new polynomial-time algorithm for linear programming, " inProc. 16th Annu. ACM Symp. Theory of Computing, 1984, pp. 302-311.
[9] D. Kuck, R. Kuhn, B. Leasure, and M. Wolfe, "The structure of an advanced vectorizer for pipelined processors," inProc. COMPSAC 80, 4th Int. Comput. Software Appl. Conf., Oct. 1980, pp. 709- 715.
[10] D. Kuck, "Automatic program restructuring for high-speed computations," inProc. CONPAR 81, Conf. Analyzing Problem-Classes and Programming for Parallel Computing, W. Handler, Ed. Germany: Springer, 1981.
[11] R. H. Kuhn, "Optimization and interconnection complexity for: parallel processors, single stage networks, and decision trees," Ph.D. dissertation, Dep. Comput. Sci., Rep. 80-1009, Univ. of Illinois, Urbana-Champaign, IL, 1980.
[12] Z. Li, "Intraprocedural and interprocedural data dependence analysis for parallel computing," Ph.D. dissertation in preparation, Dep. Comput. Sci., Univ. Illinois, Urbana-Champaign, 1989.
[13] A. Lichnewsky and F. Thomasset, "Introducing symbolic problem solving techniques in the dependence testing phase of a vectorizer," inProc. 1988 Int. Conf. Supercomput., St. Malo, France, July 1988.
[14] Z. Li and P.-C. Yew, "Practical methods for exact data dependence analysis," to appear inProc. Second Workshop on Languages and Compilers for Parallel Computing, in the seriesResearch Monographs in Parallel and Distributed Computing, Pitman Publishing.
[15] D. Padua, D. Kuck, and D. Lawrie, "High-speed multiprocessors and compilation techniques,"IEEE Trans. Comput., vol. C-29, pp. 763- 776, Sept. 1980.
[16] Z. Shenet al., "An empirical study on array subscripts and data dependences," inProc. 1989 Int. Conf. Parallel Processing, St. Charles, Ill., Aug. 1989.
[17] R. Shostak, "Deciding linear inequalities by computing loop residues,"ACM J.vol. 28, pp. 769-779, Oct. 1981.
[18] B. J. Smithet al., Matrix Eigensystem Routines-Eispack Guide. Heidelberg: Springer, 1976.
[19] R. Triolet, "Interprocedural analysis for program restructuring with parafrase," CSRD Rep. No. 538, Univ. Illinois Urbana-Champaign, Dec. 1985.
[20] R. Triolet, "Direct Parallelization of Call Statement,"SIGPlan Notices, July 1986, pp. 176-185.
[21] D. R. Wallace, "Dependence of multi-dimensional array references," inProc. 1988 Int. Conf. Supercomputing, St. Malo, France, July 1988.
[22] M. J. Wolfe, "Optimizing supercompilers for supercomputers," Ph.D. thesis, Ctr. Supercomput. Res. and Development, Univ. Illinois, Urbana-Champaign, 1980.

Index Terms:
Index Termsprogram restructuring; array subscripts; convex set; hyperplanes; loop bounds; linear inequalities; data dependence analysis; parallelizing compilers; lambda test; multidimensional array references; numerical methods; Parafrase; Fortran program parallelization restructurer; FORTRAN; parallel programming; program compilers
Citation:
Z. Li, P.C. Yew, C.Q. Zhu, "An Efficient Data Dependence Analysis for Parallelizing Compilers," IEEE Transactions on Parallel and Distributed Systems, vol. 1, no. 1, pp. 26-34, Jan. 1990, doi:10.1109/71.80122
Usage of this product signifies your acceptance of the Terms of Use.