skip to main content
10.1145/1023833.1023868acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
Article

Analytical computation of Ehrhart polynomials: enabling more compiler analyses and optimizations

Published:22 September 2004Publication History

ABSTRACT

Many optimization techniques, including several targeted specifically at embedded systems, depend on the ability to calculate the number of elements that satisfy certain conditions. If these conditions can be represented by linear constraints, then such problems are equivalent to counting the number of integer points in (possibly) parametric polytopes. It is well known that this parametric count can be represented by a set of Ehrhart polynomials. Previously, interpolation was used to obtain these polynomials, but this technique has several disadvantages. Its worst-case computation time for a single Ehrhart polynomial is exponential in the input size, even for fixed dimensions. The worst-case size of such an Ehrhart polynomial (measured in bits needed to represent the polynomial) is also exponential in the input size. Under certain conditions this technique even fails to produce a solution.Our main contribution is a novel method for calculating Ehrhart polynomials analytically. It extends an existing method, based on Barvinok's decomposition, for counting the number of integer points in a non-parametric polytope. Our technique always produces a solution and computes polynomially-sized Ehrhart polynomials in polynomial time (for fixed dimensions).

References

  1. A. Barvinok and J. Pommersheim. An algorithmic theory of lattice points in polyhedra. New Perspectives in Algebraic Combinatorics, (38):91--147, 1999.]]Google ScholarGoogle Scholar
  2. A. I. Barvinok. A polynomial time algorithm for counting integral points in polyhedra when the dimension is fixed. In 34th Annual Symposium on Foundations of Computer Science, pages 566--572. IEEE, Nov. 1993.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. K. Beyls. Software Methods to Improve Data Locality and Cache Behavior. PhD thesis, Ghent University, 2004.]]Google ScholarGoogle Scholar
  4. A. J. C. Bik. Compiler Support for Sparse Matrix Computations. PhD thesis, University of Leiden, The Netherlands, 1996.]]Google ScholarGoogle Scholar
  5. B. Boigelot and L. Latour. Counting the solutions of Presburger equations without enumerating them. Theoretical Computer Science, (313):17--29, 2004.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. V. Braberman, D. Garbervetsky, and S. Yovine. On synthesizing parametric specifications of dynamic memory utilization. Technical report, Oct. 2003.]]Google ScholarGoogle Scholar
  7. M. Brion and M. Vergne. Residue formulae, vector partition functions and lattice points in rational polytopes. J. Amer. Math. Soc., 10:797--833, 1997.]]Google ScholarGoogle ScholarCross RefCross Ref
  8. R. Buck. Partition of space. American Mathematical Monthly, 50(9):541--544, 1943.]]Google ScholarGoogle ScholarCross RefCross Ref
  9. S. Chatterjee, E. Parker, P. J. Hanlon, and A. R. Lebeck. Exact analysis of the cache behavior of nested loops. In Proceedings of the ACM SIGPLAN 2001 Conference on Programming Language Design and Implementation, pages 286--297. ACM Press, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. P. Clauss and V. Loechner. Parametric Analysis of Polyhedral Iteration Spaces. Journal of VLSI Signal Processing, 19(2):179--194, July 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. P. D'Alberto, A. Veidembaum, A. Nicolau, and R. Gupta. Static analysis of parameterized loop nests for energy efficient use of data caches. In Workshop on Compilers and Operating Systems for Low Power (COLP01), Sept. 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. De Loera, D. Haws, R. Hemmecke, P. Huggins, B. Sturmfels, and R. Yoshida. Short rational functions for toric algebra and applications, July 2003. http://arxiv.org/abs/math.CO/0307350.]]Google ScholarGoogle Scholar
  13. J. A. De Loera, D. Haws, R. Hemmecke, P. Huggins, J. Tauzer, and R. Yoshida. A user's guide for latte v1.1, Nov. 2003. software package LattE is available at http://www.math.ucdavis.edu/~latte/.]]Google ScholarGoogle Scholar
  14. J. A. De Loera, R. Hemmecke, J. Tauzer, and R. Yoshida. Effective lattice point counting in rational convex polytopes, Mar. 2003. http://www.math.ucdavis.edu/~latte/theory.html.]]Google ScholarGoogle Scholar
  15. E. Ehrhart. Polynômes arithmétiques et méthode des polyédres en combinatoire. International Series of Numerical Mathematics, 35, 1977.]]Google ScholarGoogle Scholar
  16. J. Ferrante, V. Sarkar, and W. Thrash. On estimating and enhancing cache effectiveness. In U. Banerjee, D. Gelernter, A. Nicolau, and D. Padua, editors, Proceedings of the Fourth International Workshop on Languages and Compilers for Parallel Computing, volume 589 of Lecture Notes in Computer Science, pages 328--343. Springer-Verlag, Aug. 1991.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. B. Franke and M. O'Boyle. Array recovery and high-level transformations for DSP applications. ACM Transactions on Embedded Computing Systems, 2(2):132--162, May 2003.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Free Software Foundation, Inc. GMP. Available from ftp://ftp.gnu.org/gnu/gmp.]]Google ScholarGoogle Scholar
  19. S. Ghosh, M. Martonosi, and S. Malik. Cache miss equations: a compiler framework for analyzing and tuning memory behavior. ACM Transactions on Programming Languages and Systems, 21(4):703--746, 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. N. Halbwachs, D. Merchat, and C. Parent-Vigouroux. Cartesian factoring of polyhedra in linear relation analysis. In Static Analysis Symposium, SAS'03, San Diego, June 2003. LNCS 2694, Springer Verlag.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. F. Hannig and J. Teich. Design space exploration for massively parallel processor arrays. In Proceedings of the Sixth International Conference on Parallel Computing Technologies, volume 2127 of Lecture Notes in Computer Science, pages 51--65, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. W. Kelly, V. Maslov, W. Pugh, E. Rosser, T. Shpeisman, and D. Wonnacott. The Omega calculator and library. Technical report, University of Maryland, Nov. 1996.]]Google ScholarGoogle Scholar
  23. B. Lisper. Fully automatic, parametric worst-case execution time analysis. In J. Gustafsson, editor, Proc. Third International Workshop on Worst-Case Execution Time (WCET) Analysis, pages 77--80, Porto, July 2003.]]Google ScholarGoogle Scholar
  24. V. Loechner. Polylib: A library for manipulating parameterized polyhedra. Technical report, ICPS, Université Louis Pasteur de Strasbourg, France, Mar. 1999.]]Google ScholarGoogle Scholar
  25. V. Loechner, B. Meister, and P. Clauss. Precise data locality optimization of nested loops. J. Supercomput., 21(1):37--76, 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. V. Loechner and D. K. Wilde. Parameterized polyhedra and their vertices. International Journal of Parallel Programming, 25(6):525--549, Dec. 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. B. Nootaert. Een verbeterde methode voor de berekening van Ehrhart-polynomen. Master's thesis, Ghent University, 2004.]]Google ScholarGoogle Scholar
  28. E. Parker and S. Chatterjee. An automata-theoretic algorithm for counting solutions to Presburger formulas. In Compiler Construction 2004, volume 2985 of Lecture Notes in Computer Science, pages 104--119, Apr. 2004.]]Google ScholarGoogle ScholarCross RefCross Ref
  29. W. Pugh. Counting solutions to Presburger formulas: How and why. In SIGPLAN Conference on Programming Language Design and Implementation (PLDI'94), pages 121--134, 1994.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. A. Schrijver. Theory of linear and integer programming. John Wiley & Sons, 1986.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. V. Shoup. NTL. Available from http://www.shoup.net/ntl/.]]Google ScholarGoogle Scholar
  32. A. Turjan, B. Kienhuis, and E. Deprettere. A compile time based approach for solving out-of-order communication in Kahn Process Networks. In IEEE 13th International Conference on Aplication-specific Systems, Architectures and Processors (ASAP'2002), July 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Y. Zhao and S. Malik. Exact memory size estimation for array computations. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 8(5):517--521, October 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Analytical computation of Ehrhart polynomials: enabling more compiler analyses and optimizations

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          CASES '04: Proceedings of the 2004 international conference on Compilers, architecture, and synthesis for embedded systems
          September 2004
          324 pages
          ISBN:1581138903
          DOI:10.1145/1023833

          Copyright © 2004 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 22 September 2004

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          Overall Acceptance Rate52of230submissions,23%

          Upcoming Conference

          ESWEEK '24
          Twentieth Embedded Systems Week
          September 29 - October 4, 2024
          Raleigh , NC , USA

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader