Skip to main content
Log in

A general data dependence analysis for parallelizing compilers

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

An Erratum to this article was published on 19 March 2008

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. 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

  2. Wolfe MJ, High performance compilers for parallel computing. Addison-Wesley, New York

  3. Banerjee U, Eigenmann R, Nicolau A, Padua DA (1993) Automatic program parallelization. Proc IEEE 8(12):211–243

    Article  Google Scholar 

  4. Pough W (1992) A practical algorithm for exact array dependence analysis. Commun ACM 35(8):102–114

    Article  Google Scholar 

  5. Dantzing G, Eaves B (1973) Fourier–Motzkin elimination and its dual. J Comb Theory A 14(2):288–297

    Article  Google Scholar 

  6. Wolfe M, Tseng CW (1992) The power test for data dependence. IEEE Trans Parallel Distrib Syst 3(5):591–601

    Article  Google Scholar 

  7. 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

    Article  Google Scholar 

  8. 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

  9. Psarris K, Kong XY, Klappholz D (1993) The direction vector I test. IEEE Trans Parallel Distrib Syst 4(11):1280–1290

    Article  Google Scholar 

  10. Chang WL, Chu CP (2001) The generalized direction vector I test. Parallel Comput 27(11):1117–1144

    Article  MATH  MathSciNet  Google Scholar 

  11. Huang TC, Yang CM (2000) Data dependence analysis for array references. J Syst Softw 52(1):55–65

    Article  MathSciNet  Google Scholar 

  12. Huang TC, Yang CM (2001) Dependence analysis with direction vector for array references. Comput Electr Eng 27(3):375–393

    Article  MATH  Google Scholar 

  13. Kyriakopoulos K, Psarris K (2004) Data dependence analysis techniques for increased accuracy and extracted parallelism. Int J Parallel Program 32(4):317–359

    Article  MATH  Google Scholar 

  14. Psarris K, Kyriakopoulos K (2004) An experimental evaluation of data dependence analysis techniques. IEEE Trans Parallel Distrib Syst 15(3):196–213

    Article  Google Scholar 

  15. 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

  16. Li Z, Yew PC, Zhu CQ (1989) Data dependence analysis on multi-dimensional array reference, In: International conference on supercomputing, pp 86–95

  17. Li Z, Yew PC, Zhu CQ (1990) An efficient data dependence analysis for parallelizing compilers. IEEE Trans Parallel Distrib Syst 1(1):26–34

    Article  Google Scholar 

  18. 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

  19. Petersen PM, Padua DA (1996) Static and dynamic evaluation of data dependence analysis techniques. IEEE Trans Parallel Distrib Syst 7(11):1121–1132

    Article  Google Scholar 

  20. Paugh W (1992) A practical algorithm for extract array dependence analysis. Commun ACM 35(8):102–114

    Article  Google Scholar 

  21. Subhlok J, Kennedy K (1995) Integer programming for array subscript analysis. IEEE Trans Parallel Distrib Syst 6(6):662–668

    Article  Google Scholar 

  22. 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

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jing Zhou.

Additional information

An erratum to this article can be found at http://dx.doi.org/10.1007/s11227-008-0197-x

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-007-0168-7

Keywords

Navigation