Skip to main content

Experiences with constraint-based array dependence analysis

  • Conference paper
  • First Online:
Principles and Practice of Constraint Programming (PPCP 1994)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 874))

Abstract

Array data dependence analysis provides important information for optimization of scientific programs. Array dependence testing can be viewed as constraint analysis, although traditionally general-purpose constraint manipulation algorithms have been thought to be too slow for dependence analysis. We have explored the use of exact constraint analysis, based on Fourier's method, for array data dependence analysis. We have found these techniques can be used without a great impact on total compile time. Furthermore, the use of general-purpose algorithms has allowed us to address problems beyond traditional dependence analysis. In this paper, we summarize some of the constraint manipulation techniques we use for dependence analysis, and discuss some of the reasons for our performance results.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Corinne Ancourt and François Irigoin. Scanning polyhedra with DO loops. In Proc. of the 3rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 39–50, April 1991.

    Google Scholar 

  2. [B+89] M. Berry et al. The PERFECT Club benchmarks: Effective performance evaluation of supercomputers. International Journal of Supercomputing Applications, 3(3):5–40, March 1989.

    Google Scholar 

  3. W. W. Bledsoe. A new method for proving certain presburger formulas. In Advance Papers, 4th Int. Joint Conference on Artif. Intell., Tibilisi, Georgia, U.S.S.R, 1975.

    Google Scholar 

  4. Vijay Chandru. Variable elimination in linear constraints. The Computer Journal, 36(5):463–472, 1993.

    Google Scholar 

  5. D. C. Cooper. Theorem proving in arithmetic with multiplication. In B. Meltzer and D. Michie, editors, Machine Intelligence 7, pages 91–99. American Elsevier, New York, 1972.

    Google Scholar 

  6. G.B. Dantzig and B.C. Eaves. Fourier-Motzkin elimination and its dual. Journal of Combinatorial Theory (A), 14:288–297, 1973.

    Google Scholar 

  7. R. J. Duffin. On fourier's analysis of linear inequality systems. Mathematical Programming Study, pages 71–95, 1974.

    Google Scholar 

  8. Michael R. Garey and David S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freemand and Company, 1979.

    Google Scholar 

  9. Tien Huynh, Catherine Lassez, and Jean-Louis Lassez. Practical issues on the projection of polyhedral sets. Annals of mathematics and artificial intelligence, November 1992.

    Google Scholar 

  10. François Irigoin, Pierre Jouvelot, and Rémi Triolet. Semantical interprocedural parallelization: An overview of the pips project. In Proc. of the 1991 International Conference on Supercomputing, pages 244–253, June 1991.

    Google Scholar 

  11. Jean-Louis Imbert. Fourier's elimination: Which to choose? In PCPP 93, 1993.

    Google Scholar 

  12. J. Jaffar, M. J. Maher, P. J. Stuckey, and R. H. C. Yap. Projecting CLP(R) constraints. New Generation Computing, 11(3/4): 449–469, 1993.

    Google Scholar 

  13. Wayne Kelly and William Pugh. A framework for unifying reordering transformations. Technical Report CS-TR-3193, Dept. of Computer Science, University of Maryland, College Park, April 1993.

    Google Scholar 

  14. Jean-Louis Lassez, Tien Huynh, and Ken McAloon. Simplification and elimination of redundant linear arithmetic constraints. In Proceedings of the North American Conference on Logic Programming, pages 37–51, 1989.

    Google Scholar 

  15. Catherine Lassez and Jean-Louis Lassez. Quantifier elimination for conjunctions of linear constraints via a convex hull algorithm. In Bruce Donald, Deepak Kapur, and Joseph Mundy, editors, Symbolic and Numerical Computation for Artificial Intelligence. Academic Press, 1992.

    Google Scholar 

  16. D. E. Maydan, J. L. Hennessy, and M. S. Lam. Effectiveness of data dependence analysis. In Proceedings of the NSF-NCRD Workshop on Advanced Compilation Techniques for Novel Architectures, 1991.

    Google Scholar 

  17. D. E. Maydan, J. L. Hennessy, and M. S. Lam. Efficient and exact data dependence analysis. In ACM SIGPLAN'91 Conference on Programming Language Design and Implementation, pages 1–14, June 1991.

    Google Scholar 

  18. C. G. Nelson. An o(n togn) algorithm for the two-variable-per-constraint linear programming satisfiablility problem. Technical Report AIM-319, Stanford University, Department of Computer Science, 1978.

    Google Scholar 

  19. William Pugh. Uniform techniques for loop optimization. In 1991 International Conference on Supercomputing, pages 341–352, Cologne, Germany, June 1991.

    Google Scholar 

  20. William Pugh. The Omega test: a fast and practical integer programming algorithm for dependence analysis. Communications of the ACM, 8:102–114, August 1992.

    Google Scholar 

  21. William Pugh and David Wonnacott. Going beyond integer programming with the Omega test to eliminate false data dependences. Technical Report CS-TR-3191, Dept. of Computer Science, University of Maryland, College Park, December 1992. An earlier version of this paper appeared at the SIGPLAN PLDI'92 conference.

    Google Scholar 

  22. William Pugh and David Wonnacott. An evaluation of exact methods for analysis of value-based array data dependences. In Sixth Annual Workshop on Programming Languages and Compilers for Parallel Computing, Portland, OR, August 1993.

    Google Scholar 

  23. William Pugh and David Wonnacott. Static analysis of upper and lower bounds on dependences and parallelism. ACM Transactions on Programming Languages and Systems, 1993. accepted for publication.

    Google Scholar 

  24. Robert E. Shostak. On the sup-inf method for proving presburger formulas. Journal of the ACM, 24(4):529–543, October 1977.

    Google Scholar 

  25. H.P. Williams. Fourier-Motzkin elimination extension to integer programming problems. Journal of Combinatorial Theory (A), 21:118–123, 1976.

    Google Scholar 

  26. M. J. Wolfe and C. Tseng. The Power test for data dependence. IEEE Transactions on Parallel and Distributed Systems, 3(5):591–601, September 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Alan Borning

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Pugh, W., Wonnacott, D. (1994). Experiences with constraint-based array dependence analysis. In: Borning, A. (eds) Principles and Practice of Constraint Programming. PPCP 1994. Lecture Notes in Computer Science, vol 874. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58601-6_109

Download citation

  • DOI: https://doi.org/10.1007/3-540-58601-6_109

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58601-2

  • Online ISBN: 978-3-540-49032-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics