This Article 
 Bibliographic References 
 Add to: 
Static and Dynamic Evaluation of Data Dependence Analysis Techniques
November 1996 (vol. 7 no. 11)
pp. 1121-1132

Abstract—Data dependence analysis techniques are the main component of today's strategies for automatic detection of parallelism. Parallelism detection strategies are being incorporated in commercial compilers with increasing frequency because of the widespread use of processors capable of exploiting instruction-level parallelism and the growing importance of multiprocessors. An assessment of the accuracy of data dependence tests is therefore of great importance for compiler writers and researchers. The tests evaluated in this study include the generalized greatest common divisor test, three variants of Banerjee's test, and the Omega test. Their effectiveness was measured with respect to the Perfect Benchmarks and the linear algebra libraries, EISPACK and LAPACK. Two methods were applied, one using only compile-time information for the analysis, and the second using information gathered during program execution. The results indicate that Banerjee's test is for all practical purposes as accurate as the more complex Omega test in detecting parallelism. However, the Omega test is quite effective in proving the existence of dependences, in contrast with Banerjee's test, which can only disprove, or break dependences. The capability of the Omega test of proving dependences could have a significant impact on several compiler algorithms not considered in this study.

[1] J.R. Allen, "Dependence Analysis for Subscripted Variables and Its Application to Program Transformations," PhD thesis, Rice Univ., Apr. 1983.
[2] U. Banerjee, "Speedup of Ordinary Programs," PhD thesis, Univ. of Illinois at Urbana-Champaign, Oct. 1979.
[3] U. Banerjee,Dependence Analysis for Supercomputing. Norwell, MA: Kluwer, 1988.
[4] W. Blume and R. Eigenmann, "An Overview of Symbolic Analysis Techniques Needed for the Effective Parallelization of the Perfect Benchmarks," Proc. Int'l Conf. Parallel Processing, pp. II.233-II.238, Aug. 1994.
[5] W. Blume and R. Eigenmann, "The Range Test: A Dependence Test for Symbolic, Non-Linear Expressions," Proc. Supercomputing '94, pp. 528-537,Washington D.C., Nov. 1994.
[6] W. Blume, R. Eigenmann, J. Hoeflinger, D. Padua, P. Petersen, L. Rauchwerger, and P. Tu, "Automatic Detection of Parallelism: A Grand Challenge for High-Performance Computing," IEEE Parallel and Distributed Technology, vol. 2, no. 3, pp. 37-47, Fall 1994.
[7] D.-K. Chen, "MaxPar: An Execution Driven Simulator for Studying Parallel Systems," Master's thesis, Univ. of Illinois at Urbana-Champaign, Oct. 1989.
[8] G. Cybenko, L. Kipp, L. Pointer, and D. Kuck, "Supercomputer Performance Evaluation and the Perfect Benchmarks," Tech. Report 965, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing, Research&Development, Mar. 1990.
[9] R. Cytron, "DOACROSS: Beyond Vectorization for Multiprocessors," Proc. Int'l Conf. Parallel Processing, pp. 836-844, Aug. 1986.
[10] G. Goff, K. Kennedy, and C. Tseng, "Practical Dependence Testing," Proc. SIGPLAN '91 Conf. Programming Language Design and Implementation, pp. 15-29,Toronto, Canada, June 1991.
[11] X. Kong, D. Klappholz, and K. Psarris, "The I Test: A New Test for Subscript Data Dependence," Proc. 1990 Int'l Conf. Parallel Processing, pp. II204-II211, Aug. 1990.
[12] M. Kumar, "Measuring Parallelism in Computation-Intensive Science Engineering Applications," IEEE Trans. Computers, vol. 37, no. 9, pp. 5-40, Sept. 1988.
[13] Z. Li, P.-C. Yew, and C.-Q. Zhu, "Data Dependence Analysis on Multi-dimensional Array References," Proc. Third ACM Int'l Conf. Supercomputing, pp. 215-224, June 1989.
[14] D. Maydan, J. Hennessy, and M. Lam,“Efficient and exact data dependence analysis,”inProc. ACM SIGPLAN 91' Conf. Progr. Lang. Des., Implement., Toronto, Canada, June 1991, pp. 1–14.
[15] D.A. Padua, D.J. Kuck, and D.H. Lawrie, "High-Speed Multiprocessors and Compilation Techniques," Special Issue on Parallel Processing, IEEE Trans. Computers, vol. 29, no. 9, pp. 763-776, Sept. 1980.
[16] P.M. Petersen, "Evaluation of Programs and Parallelizing Compilers Using Dynamic Analysis Techniques," PhD thesis, Univ. of Illinois at Urbana-Champaign, Jan. 1993.
[17] K. Psarris, D. Klappholz, and X. Kong, "On the Accuracy of the Banerjee Test," J. Parallel and Distributed Computing, vol. 12, no. 2, pp. 152-157, June 1991.
[18] W. Pugh, “The Omega Test: A Fast and Practical Integer Programming Algorithm for Dependence Analysis,” Comm. ACM, vol. 8, pp. 102–114, Aug. 1992.
[19] L. Rauchwerger and D. Padua, “The LRPD Test: Speculative Run-Time Parallelization of Loops with Privatization and Reduction Parallelization,” Proc. ACM SIGPLAN '95, PLDI, pp. 218–232, June 1995.
[20] W. Rudin, Principles of Mathematical Analysis. International Series in Pure and Applied Mathematics, McGraw-Hill, 1964.
[21] H.M. Salkin and K. Mathur, Foundations of Integer Programming. North-Holland, 1989.
[22] Z. Shen, Z. Li, and P.-C. Yew, "An Empirical Study of FORTRAN Programs for Parallelizing Compilers," CSRD Report No. 983, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing, Research&Development, Apr. 1990.
[23] P. Tu and D. Padua, “Gated SSA-Based Demand-Driven Symbolic Analysis for Parallelizing Compilers,” Proc. Int'l Conf. Supercomputing, pp. 414-423, July 1995.
[24] M. Wolfe and U. Banerjee, "Data Dependence and Its Application to Parallel Processing," Int'l J. Parallel Programming, vol. 16, no. 2, pp. 137-178, 1987.
[25] M. Wolfe and C.-W. Tseng, "The Power Test for Data Dependence," IEEE Trans. Parallel and Distributed Systems, vol. 3, Sept. 1992.

Index Terms:
Dependence analysis, automatic parallelization, parallelism detection, compiler optimizations, evaluation of compiler techniques.
Paul M. Petersen, David A. Padua, "Static and Dynamic Evaluation of Data Dependence Analysis Techniques," IEEE Transactions on Parallel and Distributed Systems, vol. 7, no. 11, pp. 1121-1132, Nov. 1996, doi:10.1109/71.544354
Usage of this product signifies your acceptance of the Terms of Use.