Skip to main content
Log in

Abstract

In the area of automatic parallelization of programs, analyzing and transforming loop nests with parametric affine loop bounds requires fundamental mathematical results. The most common geometrical model of iteration spaces, called the polytope model, is based on mathematics dealing with convex and discrete geometry, linear programming, combinatorics and geometry of numbers.

In this paper, we present automatic methods for computing the parametric vertices and the Ehrhart polynomial, i.e., a parametric expression of the number of integer points, of a polytope defined by a set of parametric linear constraints.

These methods have many applications in analysis and transformations of nested loop programs. The paper is illustrated with exact symbolic array dataflow analysis, estimation of execution time, and with the computation of the maximum available parallelism of given loop nests.

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.

Institutional subscriptions

Similar content being viewed by others

References

  1. W. Pugh, “Counting solutions to Presburger formulas: How and why,” Proc. of the 1994 ACM SIGPLAN Conference on Programming Language Design and Implementation, 1994.

  2. J. Ferrante, V. Sarkar, and W. Thrash, “On estimating and enhancing cache effectiveness,” Advances in Languages and Compilers for Parallel Processing, The MIT Press, pp. 328-343, 1991.

  3. H.S. Stone and D. Thiebaut, “Footprints in the cache,” Proc. ACM SIGMETRICS 1986, pp. 4-8, 1986.

  4. N. Tawbi and P. Feautrier, “Processor allocation and loop scheduling on multiprocessor computers,” Proc. of the 1992 International Conference on Supercomputing, pp. 63-71, 1992.

  5. M. Haghighat and C. Polychronopoulos, “Symbolic analysis: A basis for parallelization, optimization and scheduling of programs,” Languages and Compilers for Parallel Computing, U. Banerjee et al. (Ed.), Springer-Verlag, 1993. LNCS768, Proc. of the 6th Annual Workshop on Programming Languages and Compilers for Parallel Computing.

  6. U. Banerjee, Dependence Analysis for Supercomputing, Kluwer Academic Publishers, Boston/Dordrecht/London, 1988.

    Book  Google Scholar 

  7. P. Feautrier, “Dataflow analysis of scalar and array references,” Int. J. of Parallel Programming, Vol. 20, No.1, pp. 23-53, 1991.

    Article  MATH  Google Scholar 

  8. P.M. Gruber and C.G. Lekkerkerker, Geometry of Numbers. North-Holland, Amsterdam, 1987.

    MATH  Google Scholar 

  9. A. Schrijver, Theory of Linear and Integer Programming, Wiley, New York, 1986.

    MATH  Google Scholar 

  10. M.S. Bazaraa, H.D. Sherali, and C.M. Shetty, Nonlinear Programming, Theory and Algorithms, 2nd edition, Wiley, New York, 1993.

    MATH  Google Scholar 

  11. R.P. Stanley, Combinatorics and Commutative Algebra, Birkhäuser, Boston, 1983.

    Book  MATH  Google Scholar 

  12. R.P. Stanley, Enumerative Combinatorics, Vol. I, Wadsworth & Brooks/Cole, Monterey, California, 1986.

    Book  MATH  Google Scholar 

  13. T.H. Mattheiss and D. Rubin, “A survey and comparison of methods for finding all vertices of convex polyhedral sets,” Mathematics of Operations Research, Vol. 5, No.2, pp. 167- 185, 1980.

    Article  MathSciNet  Google Scholar 

  14. E. Ehrhart, “Sur un problème de géométrie diophantienne linéaire I,” J. Reine Angew. Math., Vol. 226, pp. 1-29, 1967.

    MathSciNet  MATH  Google Scholar 

  15. E. Ehrhart, Polynômes arithmétiques et Méthode des Polyèdres en Combinatoire, International Series of Numerical Mathematics, Vol. 35, Birkhäuser Verlag, Basel/Stuttgart, 1977.

    MATH  Google Scholar 

  16. V. Loechner and D.K. Wilde, “Parameterized polyhedra and their vertices,” Int. J. of Parall. Progr. Vol. 25, No.6, 1997. Research Report ICPS 96-09, 1996. http://icps.ustrasbg.fr/pub-95/pub-96-09.ps.gz

  17. E. Ehrhart, “Sur les polyèdres rationnels homothétiques à n dimensions,” C.R. Acad. Sci. Paris, Vol. 254, pp. 616-618, 1962.

    MathSciNet  MATH  Google Scholar 

  18. E. Ehrhart, “Sur un problème de géométrie diophantienne linéaire II,” J. Reine Angew. Math., Vol. 227, pp. 25-49, 1967.

    MathSciNet  Google Scholar 

  19. I.G. Macdonald, “The volume of a lattice polyhedron,” Proc. Camb. Phil. Soc., Vol. 59, pp. 719-726, 1963.

    Article  MathSciNet  MATH  Google Scholar 

  20. I.G. Macdonald, “Polynomials associated with finite cell-complexes,” J. London Math. Soc., Vol. 4, No.2, pp. 181-192, 1971.

    Article  MathSciNet  MATH  Google Scholar 

  21. D.E. Maydan, S.P. Amarasingue, and M.S. Lam, “Array dataflow analysis and its use in array privatization,” Proc. of ACM Conf. on Principles of Programming Languages, pp. 2-15, 1993.

  22. E. Duesterwald, R. Gupta, and M.-L. Soffa, “A practical data-flow framework for array reference analysis and its use in optimization,” ACM SIGPLAN'93 Conf. on Prog. Lang. Design and Implementation, pp. 68-77, 1993.

  23. N. Tawbi, “Estimation of nested loop execution time by integer arithmetics in convex polyhedra,” Proc. of the 1994 International Parallel Processing Symposium, 1994.

  24. Ph. Clauss, C. Mongenet, and G.-R. Perrin, “Calculus of space-optimal mappings of systolic algorithms on processor arrays,” Journal of VLSI Signal Processing, Vol. 4, pp. 27-36, 1992.

    Article  Google Scholar 

  25. Ph. Clauss, “An efficient allocation strategy for mapping affine recurrences into space and time optimal regular processor arrays,” in Int. Conf. PARCELLA'94, C. Jesshope, V. Jossifov and W. Wilhelmi (Eds.), Potsdam, Germany, Akademie Verlag, pp. 257-266, 1994. http://icps.u-strasbg.fr/pub-94/pub-94-15.ps.Z

    Google Scholar 

  26. Ph. Clauss and G.-R. Perrin, “Optimal mapping of systolic algorithms by regular instruction shifts,” Int. Conf. on Application-Specific Array Processors, ASAP'94, San Francisco, CA, IEEE Computer Society Press, pp. 224- 235, 1994. http://icps.u-strasbg.fr/pub-94/pub-94-08.ps.Z

    Google Scholar 

  27. D.K. Wilde, “A library for doing polyhedral operations,” Master's thesis, Oregon State University, Corvallis, Oregon, 1993. Also published as IRISA Technical Report PI 785, Rennes, France, 1993.

    Google Scholar 

  28. M. Haghighat and C. Polychronopoulos, “Symbolic analysis: A basis for parallelization, optimization and scheduling of programs,” Technical Report 1317, CSRD, Univ. of Illinois, August 1993.

  29. Ph. Clauss, “The volume of a lattice polyhedron to enumerate processors and parallelism,” Research Report ICPS 95-11, 1995. http://icps.u-strasbg.fr/pub-95/pub-95-11.ps.gz

  30. Ph. Clauss, “Counting solutions to linear and nonlinear constraints through Ehrhart polynomials: Applications to analyze and transform scientific programs,” Proc. 10thACMInt. Conf. on Supercomputing, Philadelphia, 1996. Also available as Research Report ICPS 96-03. http://icps.u-strasbg.fr/pub-96/pub-96-03.ps.gz

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Clauss, P., Loechner, V. Parametric Analysis of Polyhedral Iteration Spaces. The Journal of VLSI Signal Processing-Systems for Signal, Image, and Video Technology 19, 179–194 (1998). https://doi.org/10.1023/A:1008069920230

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008069920230

Keywords

Navigation