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.
Similar content being viewed by others
References
W. Pugh, “Counting solutions to Presburger formulas: How and why,” Proc. of the 1994 ACM SIGPLAN Conference on Programming Language Design and Implementation, 1994.
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.
H.S. Stone and D. Thiebaut, “Footprints in the cache,” Proc. ACM SIGMETRICS 1986, pp. 4-8, 1986.
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.
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.
U. Banerjee, Dependence Analysis for Supercomputing, Kluwer Academic Publishers, Boston/Dordrecht/London, 1988.
P. Feautrier, “Dataflow analysis of scalar and array references,” Int. J. of Parallel Programming, Vol. 20, No.1, pp. 23-53, 1991.
P.M. Gruber and C.G. Lekkerkerker, Geometry of Numbers. North-Holland, Amsterdam, 1987.
A. Schrijver, Theory of Linear and Integer Programming, Wiley, New York, 1986.
M.S. Bazaraa, H.D. Sherali, and C.M. Shetty, Nonlinear Programming, Theory and Algorithms, 2nd edition, Wiley, New York, 1993.
R.P. Stanley, Combinatorics and Commutative Algebra, Birkhäuser, Boston, 1983.
R.P. Stanley, Enumerative Combinatorics, Vol. I, Wadsworth & Brooks/Cole, Monterey, California, 1986.
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.
E. Ehrhart, “Sur un problème de géométrie diophantienne linéaire I,” J. Reine Angew. Math., Vol. 226, pp. 1-29, 1967.
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.
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
E. Ehrhart, “Sur les polyèdres rationnels homothétiques à n dimensions,” C.R. Acad. Sci. Paris, Vol. 254, pp. 616-618, 1962.
E. Ehrhart, “Sur un problème de géométrie diophantienne linéaire II,” J. Reine Angew. Math., Vol. 227, pp. 25-49, 1967.
I.G. Macdonald, “The volume of a lattice polyhedron,” Proc. Camb. Phil. Soc., Vol. 59, pp. 719-726, 1963.
I.G. Macdonald, “Polynomials associated with finite cell-complexes,” J. London Math. Soc., Vol. 4, No.2, pp. 181-192, 1971.
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.
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.
N. Tawbi, “Estimation of nested loop execution time by integer arithmetics in convex polyhedra,” Proc. of the 1994 International Parallel Processing Symposium, 1994.
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.
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
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
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.
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.
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
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
Author information
Authors and Affiliations
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1023/A:1008069920230