EHRHART POLYNOMIALS FOR PRECISE PROGRAM ANALYSIS

[An example: the maximum parallelism] [Related publications] [Persons involved in the project] [Related links: tributes to Eugène Ehrhart] [Other related projects] [Some works using Ehrhart polynomials] [A program is now available]

Optimizing compilers need to be able to analyse nested loop programs with parametric affine loop bounds, in order to derive efficient programs. The iteration spaces of nested loop programs can be modeled by polyhedra and systems of linear constraints. Using this model, important program analysis such as computing:

all reduce to the same mathematical problem: finding the formula for number of integer solutions to a system of parameterized linear constraints, as a function of the parameters.

The resulting information can be used to:

We have developped a method for deriving a closed-form symbolic formula for the number of integer points contained in a polyhedral region in terms of size parameters. If the set of integer points to be counted lies inside a union of rational convex polytopes, then the number of points can be formulated by a special kind of polynomial called Ehrhart polynomial. The procedure consists of first, computing the parametric vertices of a polytope defined by a set of parametric linear constraints, and then solving for an Ehrhart polynomial which gives the exact formula for the number of integer points in the polytope.

We have also proposed an extension to the counting of integer points in linear and non-linear mappings of polytopes.

We are now trying to handle countings for non-linearly parameterized constraints, here is the 1st research report on the subject.


More about EHRHART POLYNOMIALS