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.
Preview
Unable to display preview. Download preview PDF.
References
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.
[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.
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.
Vijay Chandru. Variable elimination in linear constraints. The Computer Journal, 36(5):463–472, 1993.
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.
G.B. Dantzig and B.C. Eaves. Fourier-Motzkin elimination and its dual. Journal of Combinatorial Theory (A), 14:288–297, 1973.
R. J. Duffin. On fourier's analysis of linear inequality systems. Mathematical Programming Study, pages 71–95, 1974.
Michael R. Garey and David S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freemand and Company, 1979.
Tien Huynh, Catherine Lassez, and Jean-Louis Lassez. Practical issues on the projection of polyhedral sets. Annals of mathematics and artificial intelligence, November 1992.
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.
Jean-Louis Imbert. Fourier's elimination: Which to choose? In PCPP 93, 1993.
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.
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.
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.
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.
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.
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.
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.
William Pugh. Uniform techniques for loop optimization. In 1991 International Conference on Supercomputing, pages 341–352, Cologne, Germany, June 1991.
William Pugh. The Omega test: a fast and practical integer programming algorithm for dependence analysis. Communications of the ACM, 8:102–114, August 1992.
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.
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.
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.
Robert E. Shostak. On the sup-inf method for proving presburger formulas. Journal of the ACM, 24(4):529–543, October 1977.
H.P. Williams. Fourier-Motzkin elimination extension to integer programming problems. Journal of Combinatorial Theory (A), 21:118–123, 1976.
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.
Author information
Authors and Affiliations
Editor information
Rights 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