Abstract
Many dependence tests have been proposed for loop parallelization in the case of arrays with linear subscripts, but little work has been done on the arrays with nonlinear subscripts, which sometimes occur in parallel benchmarks and scientific and engineering applications. This paper focuses on array subscripts coupled integer power index variables. We attempt to use the integer interval theory to solve the above difficult dependence test problem. Some “interval solution” rules for polynomial equations have been proposed in this paper. Furthermore, based on the proposed rules, we present a novel approach to loop dependence analysis, which is termed the Polynomial Variable Interval test or PVI test, and also develop a related algorithm. Some case studies show that the PVI test is effective and efficient. Compared to the I test and Omega test, the PVI test makes significant improvement, and is, therefore, a more general scheme of dependence test.
Similar content being viewed by others
References
Shen Z, Shen Z, Li Z, Yew PC (1989) An empirical study on array subscripts and data dependencies. In: Proceedings of 1989 international conference on parallel processing, pp 145–152
Wolfe MJ, High performance compilers for parallel computing. Addison-Wesley, New York
Banerjee U, Eigenmann R, Nicolau A, Padua DA (1993) Automatic program parallelization. Proc IEEE 8(12):211–243
Pough W (1992) A practical algorithm for exact array dependence analysis. Commun ACM 35(8):102–114
Dantzing G, Eaves B (1973) Fourier–Motzkin elimination and its dual. J Comb Theory A 14(2):288–297
Wolfe M, Tseng CW (1992) The power test for data dependence. IEEE Trans Parallel Distrib Syst 3(5):591–601
Kong X, Klappholz D, Psarriss K (1991) The I test: an improved dependence test for automatic parallelization and vectorization. IEEE Trans Parallel Distrib Syst 2(3):342–349
Psarris K, Pande S (1994) An empirical study of the I test for exact data dependence. In: Proceedings of the 1994 International conference on Parallel Processing, August 1994
Psarris K, Kong XY, Klappholz D (1993) The direction vector I test. IEEE Trans Parallel Distrib Syst 4(11):1280–1290
Chang WL, Chu CP (2001) The generalized direction vector I test. Parallel Comput 27(11):1117–1144
Huang TC, Yang CM (2000) Data dependence analysis for array references. J Syst Softw 52(1):55–65
Huang TC, Yang CM (2001) Dependence analysis with direction vector for array references. Comput Electr Eng 27(3):375–393
Kyriakopoulos K, Psarris K (2004) Data dependence analysis techniques for increased accuracy and extracted parallelism. Int J Parallel Program 32(4):317–359
Psarris K, Kyriakopoulos K (2004) An experimental evaluation of data dependence analysis techniques. IEEE Trans Parallel Distrib Syst 15(3):196–213
Huang TC, Yang CM (1996) An exact data dependence analysis for array reference: the IR test. In: The tenth annual international conference on high performance computers, Ottawa, Canada, pp 1–24
Li Z, Yew PC, Zhu CQ (1989) Data dependence analysis on multi-dimensional array reference, In: International conference on supercomputing, pp 86–95
Li Z, Yew PC, Zhu CQ (1990) An efficient data dependence analysis for parallelizing compilers. IEEE Trans Parallel Distrib Syst 1(1):26–34
Maydan DE, Hennessy JL, Lam MS (1991) Efficient and extract data dependence analysis. In: Proceedings of the ACM SIGPLAN ’91 conference on programming, language design and implementation, Toronto, ON, Canada, pp 1–14
Petersen PM, Padua DA (1996) Static and dynamic evaluation of data dependence analysis techniques. IEEE Trans Parallel Distrib Syst 7(11):1121–1132
Paugh W (1992) A practical algorithm for extract array dependence analysis. Commun ACM 35(8):102–114
Subhlok J, Kennedy K (1995) Integer programming for array subscript analysis. IEEE Trans Parallel Distrib Syst 6(6):662–668
Colohan BC, Ailamaki A, Steffan JG, Mowry C (2007) CMP support for large and dependent speculative threads. IEEE Trans Parallel Distrib Syst 18(8):1041–1054
Author information
Authors and Affiliations
Corresponding author
Additional information
An erratum to this article can be found at http://dx.doi.org/10.1007/s11227-008-0197-x
Rights and permissions
About this article
Cite this article
Zhou, J., Zeng, G. A general data dependence analysis for parallelizing compilers. J Supercomput 45, 236–252 (2008). https://doi.org/10.1007/s11227-007-0168-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-007-0168-7