This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
The Power Test for Data Dependence
September 1992 (vol. 3 no. 5)
pp. 591-601
A data dependence decision algorithm called the power test is introduced. The powertest is a combination of the extended GCD algorithm and the Fourier-Motzkin method to eliminate variables in a system of inequalities. This is the first test that can generate the information needed for some advanced transformations, and that can handle complex simultaneous loop limits. Previous work in data dependence decision algorithms is reviewed. Some examples which motivated the development of this test are examined, including those which demonstrate the additional power of the power test. Although it may be too expensive for use as a general-purpose dependence test in a compiler, the power test has proved useful in an interactive program restructuring environment.

[1] F. Allen, M. Burke, P. Charles, R. Cytron, and J. Ferrante, "An overview of the PTRAN analysis system for multiprocessing," inSupercomputing: 1st International Conf., Lecture Notes in Computer Science, vol. 297, E. N. Houstis, T. S. Papatheodorou, and C. D. Polychronopoulos, Eds. Berlin, Germany: Springer-Verlag, 1987, pp. 194-211.
[2] F. Allen, M. Burke, P. Charles, R. Cytron, and J. Ferrante, "An overview of the PTRAN analysis system for multiprocessing,"J. Parallel Distributed Comput., vol. 5, no. 5, pp. 617-640, Oct. 1988.
[3] J.R. Allen and K. Kennedy, "Automatic loop interchange," inProc. SIGPLAN '84 Symp. Comp. Construct., Montreal, Canada, July 1984.
[4] R. Allen and K. Kennedy, "Automatic translation of FORTRAN to vector form,"ACM Trans. Programming Languages Syst., vol. 9, no. 4, pp. 491-524, 1987.
[5] U. Banerjee, "Data dependence in ordinary programs," M.S. thesis UIUCDCS-R-76-837, Dep. Comput. Sci., Univ. Illinois, Nov. 1976.
[6] U. Banerjee, "Speedup of ordinary programs," Ph.D dissertation, Dep. Comput. Sci. Univ. Illinois, Urbana-Champaign, Rep. No. UIUCDCS-R-79-989, 1979.
[7] U. Banerjee,Dependence Analysis for Supercomputing, Kluwer Academic Publishers, Norwell, Mass., 1988.
[8] U. Banerjee, S.-C. Chen, D. J. Kuck, and R. A. Towle, "Time and parallel processor bounds for Fortran-like loops,"IEEE Trans. Comput., vol. C-28, no. 9, pp. 660-670, Sept. 1979.
[9] M. Burke and R. Cytron, "Interprocedural dependence analysis and parallelization," inProc. SIG-PLAN '86 Symp. Comp. Construct., Palo Alto, CA, June 1986, pp. 162-175.
[10] W. L. Cohagan, "Vector optimization for the ASC," inProc. Seventh Annu. Princeton Conf. Inform. Sci. and Syst., Mar. 1973, pp. 169-174.
[11] G. B. Dantzig and B. C. Eaves, "Fourier-Motzkin elimination and its dual,"J. Combinatorial Theory (A), vol. 14, pp. 288-297, 1973.
[12] R. J. Duffin, "On Fourier's analysis of linear inequality systems," inMathematical Programming Study 1. Amsterdam, The Netherlands, North-Holland, 1974, pp. 71-95.
[13] P. Feautrier, "Parametric integer programming,"RAIRO Recherche Operationnelle, vol. 22, no. 3, pp. 243-268, Sept. 1988.
[14] D. Gannon, W. Jalby, and K. Gallivan, "Strategies for cache and local memory management by global program transformation," inSupercomputing: 1st International Conf., Lecture Notes in Computer Science, vol. 297, E. N. Houstis, T. S. Papatheodorou, and C. D. Polychronopoulos, Ed. Berlin, Germany: Springer-Verlag, 1987, pp. 229-254.
[15] D. Gannon, W. Jalby, and K. Gallivan, "Strategies for Cache and Local Memory Management by Global Program Transformation,"J. Parallel and Distributed Computing, Vol. 5, No. 5, Oct. 1988, pp. 587-616.
[16] G. Goff, K. Kennedy, and C.-W. Tseng, "Practical Dependence Testing,"Proc. ACM SIGPLAN '91 Conf. Programming Language Design and Implementation, ACM Press, New York, June 1991, pp. 15-29.
[17] E. N. Houstis, T. S. Papatheodorou, and C. D. Polychronopoulos, Ed.,Supercomputing: 1st International Conf., Lecture Notes in Computer Sciencevol. 297. Berlin, Germany: Springer-Verlag, 1987.
[18] K. Kennedy, "Triangular Banerjee inequality," Tech. Rep. Supercomputer Software Newsletter #8, Dep. Comput. Sci., Rice Univ., Oct. 1986.
[19] D. Klappholz, K. Psarris, and X. Kong, "On the perfect accuracy of an approximate subscript analysis test," inProc. 1990 ACM Int. Conf. Supercomput., Amsterdam, June 1990.
[20] D. E. Knuth,The Art of Computer Programming, Vol. 2, Seminumerical Algorithms. Reading, MA: Addison-Wesley, 1981.
[21] X. Kong, D. Klappholz, and K. Psarris, "The I test: A new test for subscript data dependence," inProc. 1990 Int. Conf. Parallel Processing, vol. II, D. Padua, Ed., St. Charles, IL, Aug. 1990. University Park, PA: Penn State Press, pp. 204-211.
[22] 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.
[23] Z. Li, "Intraprocedural and interprocedural data dependence analysis for parallel computing," Ph.D. dissertation in preparation, Dep. Comput. Sci., Univ. Illinois, Urbana-Champaign, 1989.
[24] Z. Li, P.-C. Yew, and C.-Q. Zhu, "An efficient data dependence analysis for parallelizing compilers,"IEEE Trans. Parallel Distributed Syst., vol. 1, no. 1, pp. 26-34, Jan. 1990.
[25] D. Padua, Ed.,Proc. 1990 Int. Conf. Parallel Processing, vol. II, St. Charles, IL, Aug. 1990. University Park, PA: Penn State Press.
[26] A. Schrijver,Theory of Linear and Integer Programming. New York: Wiley, 1986.
[27] R. Shostak, "Deciding linear inequalities by computing loop residues,"ACM J.vol. 28, pp. 769-779, Oct. 1981.
[28] Proc. SIGPLAN '86 Symp. Compiler Construction, Palo Alto, CA, June 1986.
[29] R. Triolet, "Direct Parallelization of Call Statement,"SIGPlan Notices, July 1986, pp. 176-185.
[30] D. R. Wallace, "Dependence of multi-dimensional array references," inProc. 1988 Int. Conf. Supercomputing, St. Malo, France, July 1988.
[31] H. P. Williams, "Fourier-Motzkin elimination extension to integer programming problems,"J. Combinatorial Theory (A), vol. 21, pp. 118-123, 1976.
[32] H. P. Williams, "A characterisation of all feasible solutions to an integer program,"Discrete Appl. Mathemat., vol. 5, pp. 147-155, 1983.
[33] M. J. Wolfe, "Optimizing supercompilers for supercomputers," Ph.D. thesis, Ctr. Supercomput. Res. and Development, Univ. Illinois, Urbana-Champaign, 1980.
[34] M. Wolfe, "Advanced loop interchanging," inProc. 1986 Int. Conf. Parallel Processing, K. Hwang, S. M. Jacobs, and E. E. Swartzlander, Eds., St. Charles, IL, Aug. 1986, pp. 536-543.
[35] M. Wolfe,Optimizing Supercompilers for Supercomputers. Cambridge MA: MIT Press, 1989.
[36] M. Wolfe, "The Tiny loop restructuring research tool," inProc. 1991 Int. Conf. Parallel Processing, vol. II, St. Charles, IL, Aug. 1991. University Park: Penn State Press, pp. 46-53.
[37] M. Wolfe and U. Banerjee, "Data Dependence and Its Application to Parallel Processing,"Int'l J. Parallel Programming, Vol. 16, No. 2, Apr. 1987, pp. 137-178.
[38] M. Wolfe and C.-W. Tseng, "The Power test for data dependence," Tech. Rep. CSE 90-015, Oregon Graduate Institute, Aug. 1990.

Index Terms:
Index Termsvariable elimination; power test; data dependence decision algorithm; extended GCDalgorithm; Fourier-Motzkin method; inequalities; simultaneous loop limits; compiler;interactive program restructuring environment; parallel algorithms; parallel programming; program compilers; programming theory
Citation:
M. Wolfe, C.W. Tseng, "The Power Test for Data Dependence," IEEE Transactions on Parallel and Distributed Systems, vol. 3, no. 5, pp. 591-601, Sept. 1992, doi:10.1109/71.159042
Usage of this product signifies your acceptance of the Terms of Use.