16 research outputs found
Computation of the highest coefficients of weighted Ehrhart quasi-polynomials of rational polyhedra
This article concerns the computational problem of counting the lattice
points inside convex polytopes, when each point must be counted with a weight
associated to it. We describe an efficient algorithm for computing the highest
degree coefficients of the weighted Ehrhart quasi-polynomial for a rational
simple polytope in varying dimension, when the weights of the lattice points
are given by a polynomial function h. Our technique is based on a refinement of
an algorithm of A. Barvinok [Computing the Ehrhart quasi-polynomial of a
rational simplex, Math. Comp. 75 (2006), pp. 1449--1466] in the unweighted case
(i.e., h = 1). In contrast to Barvinok's method, our method is local, obtains
an approximation on the level of generating functions, handles the general
weighted case, and provides the coefficients in closed form as step polynomials
of the dilation. To demonstrate the practicality of our approach we report on
computational experiments which show even our simple implementation can compete
with state of the art software.Comment: 34 pages, 2 figure
On Characterizing the Data Access Complexity of Programs
Technology trends will cause data movement to account for the majority of
energy expenditure and execution time on emerging computers. Therefore,
computational complexity will no longer be a sufficient metric for comparing
algorithms, and a fundamental characterization of data access complexity will
be increasingly important. The problem of developing lower bounds for data
access complexity has been modeled using the formalism of Hong & Kung's
red/blue pebble game for computational directed acyclic graphs (CDAGs).
However, previously developed approaches to lower bounds analysis for the
red/blue pebble game are very limited in effectiveness when applied to CDAGs of
real programs, with computations comprised of multiple sub-computations with
differing DAG structure. We address this problem by developing an approach for
effectively composing lower bounds based on graph decomposition. We also
develop a static analysis algorithm to derive the asymptotic data-access lower
bounds of programs, as a function of the problem size and cache size