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).
- A. Barvinok and J. Pommersheim. An algorithmic theory of lattice points in polyhedra. New Perspectives in Algebraic Combinatorics, (38):91--147, 1999.]]Google Scholar
- 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 ScholarDigital Library
- K. Beyls. Software Methods to Improve Data Locality and Cache Behavior. PhD thesis, Ghent University, 2004.]]Google Scholar
- A. J. C. Bik. Compiler Support for Sparse Matrix Computations. PhD thesis, University of Leiden, The Netherlands, 1996.]]Google Scholar
- B. Boigelot and L. Latour. Counting the solutions of Presburger equations without enumerating them. Theoretical Computer Science, (313):17--29, 2004.]] Google ScholarDigital Library
- V. Braberman, D. Garbervetsky, and S. Yovine. On synthesizing parametric specifications of dynamic memory utilization. Technical report, Oct. 2003.]]Google Scholar
- 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 ScholarCross Ref
- R. Buck. Partition of space. American Mathematical Monthly, 50(9):541--544, 1943.]]Google ScholarCross Ref
- 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 ScholarDigital Library
- P. Clauss and V. Loechner. Parametric Analysis of Polyhedral Iteration Spaces. Journal of VLSI Signal Processing, 19(2):179--194, July 1998.]] Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- E. Ehrhart. Polynômes arithmétiques et méthode des polyédres en combinatoire. International Series of Numerical Mathematics, 35, 1977.]]Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Free Software Foundation, Inc. GMP. Available from ftp://ftp.gnu.org/gnu/gmp.]]Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- V. Loechner. Polylib: A library for manipulating parameterized polyhedra. Technical report, ICPS, Université Louis Pasteur de Strasbourg, France, Mar. 1999.]]Google Scholar
- V. Loechner, B. Meister, and P. Clauss. Precise data locality optimization of nested loops. J. Supercomput., 21(1):37--76, 2002.]] Google ScholarDigital Library
- V. Loechner and D. K. Wilde. Parameterized polyhedra and their vertices. International Journal of Parallel Programming, 25(6):525--549, Dec. 1997.]] Google ScholarDigital Library
- B. Nootaert. Een verbeterde methode voor de berekening van Ehrhart-polynomen. Master's thesis, Ghent University, 2004.]]Google Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- A. Schrijver. Theory of linear and integer programming. John Wiley & Sons, 1986.]] Google ScholarDigital Library
- V. Shoup. NTL. Available from http://www.shoup.net/ntl/.]]Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
Index Terms
- Analytical computation of Ehrhart polynomials: enabling more compiler analyses and optimizations
Recommendations
Ehrhart polynomials of cyclic polytopes
The Ehrhart polynomial of an integral convex polytope counts the number of lattice points in dilates of the polytope. In (Coefficients and roots of Ehrhart polynomials, preprint), the authors conjectured that for any cyclic polytope with integral ...
Roots of Ehrhart polynomials arising from graphs
Several polytopes arise from finite graphs. For edge and symmetric edge polytopes, in particular, exhaustive computation of the Ehrhart polynomials not merely supports the conjecture of Beck et al. that all roots of Ehrhart polynomials of polytopes of ...
Ehrhart Polynomials with Negative Coefficients
It is shown that, for each $$d \ge 4$$d?4, there exists an integral convex polytope $${\mathcal {P}}$$P of dimension d such that each of the coefficients of $$n, n^{2}, \ldots , n^{d-2}$$n,n2,?,nd-2 of its Ehrhart polynomial $$i({\mathcal {P}},n)$$i(P,n)...
Comments