Stating and manipulating periodicity in the polytope model : Applications to program analysis and optimization

Cette these est centree sur les objets mathematiques formes de l'intersection entre un polyedre rationnel dependant de parametres et un reseau regulier de points a coordonnees entieres: les Z-polyedres parametriques. Ces objets sont utilises en compilation ou ils permettent de modeliser les nids de boucles for/do (on parle du "modele polyedrique"), afin d'analyser leur comportement, et de les transformer pour les optimiser ou les paralleliser. Cette these contribue a l'amelioration de ce modele en introduisant le concept de polyedre periodique, qui traduit le caractere periodique des coordonnees de points entiers extremaux du Z-polyedre. Ce concept est d'abord utilise pour definir le premier algorithme de calcul de la coque entiere d'un Z-polyedre parametrique P, c'est a dire l'enveloppe convexe des points contenus dans P. Dans le meme cadre, nous nous interessons aux polynomes d'Ehrhart, qui donnent le nombre de points a coordonnees entieres contenus dans P et qui possedent un caractere periodique. Certaines observations fines sur le caractere periodique de la coque entiere de P nous permettent d'etendre une conjecture prononcee par Ehrhart et qui donne des informations precises sur la periodicite des coefficients. Nous en derivons une condition pour laquelle le polynome d'Ehrhart d'un Z-polyedre est non-periodique, et en deduisons deux methodes d'approximation d'un polynome d'Ehrhart par un polynome non-periodique. Dans l'un des cas, nous donnons egalement un algorithme de calcul de ce polynome dont la complexite est polynomiale en dimension fixee. D'autre part, l'ensemble des solutions faisables d'un probleme de programmation lineaire parametrique en nombre entiers est un Z-polyedre S. La solution optimale est donnee par un un point extremal de S, qui depend periodiquement des parametres. Notre approche est de considerer un probleme general, englobant le probleme du maximum lexicographique et la forme classique de la programmation lineaire en nombre entiers. Nous donnons un nouvel algorithme de calcul d'une solution optimale de ce probleme.

[1]  N. V. Chernikoba Algorithm for discovering the set of all the solutions of a linear programming problem , 1968 .

[2]  Vasek Chvátal,et al.  Edmonds polytopes and a hierarchy of combinatorial problems , 1973, Discret. Math..

[3]  E. Ehrhart,et al.  Polynômes arithmétiques et méthode des polyèdres en combinatoire , 1974 .

[4]  P. Lapostolle Collection Technique et Scientifique des Télécommunications , 1978 .

[5]  Peter McMullen,et al.  Lattice invariant valuations on rational polytopes , 1978 .

[6]  Richard P. Stanley,et al.  Decompositions of Rational Convex Polytopes , 1980 .

[7]  Hendrik W. Lenstra,et al.  Integer Programming with a Fixed Number of Variables , 1983, Math. Oper. Res..

[8]  Martin Grötschel,et al.  Geometric Methods in Combinatorial Optimization , 1984 .

[9]  Narendra Karmarkar,et al.  A new polynomial-time algorithm for linear programming , 1984, Comb..

[10]  Harold S. Stone,et al.  Footprints in the cache , 1986, SIGMETRICS '86/PERFORMANCE '86.

[11]  Patrice Quinton,et al.  Extension of Chernikova's algorithm for solving general mixed linear programming problems , 1988 .

[12]  Laurence A. Wolsey,et al.  Integer and Combinatorial Optimization , 1988 .

[13]  P. Feautrier Parametric integer programming , 1988 .

[14]  P. Clauss Synthèse d'algorithmes systoliques et implantation optimale en place sur réseaux de processeurs synchrones , 1990 .

[15]  William Pugh,et al.  The Omega test: A fast and practical integer programming algorithm for dependence analysis , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[16]  Vivek Sarkar,et al.  On Estimating and Enhancing Cache Effectiveness , 1991, LCPC.

[17]  Eberhard Kranich,et al.  INTERIOR POINT METHODS FOR MATHEMATICAL PROGRAMMING : A BIBLIOGRAPHY , 1991 .

[18]  Monica S. Lam,et al.  A Loop Transformation Theory and an Algorithm to Maximize Parallelism , 1991, IEEE Trans. Parallel Distributed Syst..

[19]  Corinne Ancourt,et al.  Scanning polyhedra with DO loops , 1991, PPOPP '91.

[20]  Paul Feautrier,et al.  Processor allocation and loop scheduling on multiprocessor computers , 1992, ICS '92.

[21]  László Lovász,et al.  The Generalized Basis Reduction Algorithm , 1990, Math. Oper. Res..

[22]  Alexander I. Barvinok,et al.  A Polynomial Time Algorithm for Counting Integral Points in Polyhedra when the Dimension Is Fixed , 1993, FOCS.

[23]  Christian Lengauer,et al.  Loop Parallelization in the Polytope Model , 1993, CONCUR.

[24]  J.-F. Collard Space-time transformation of while-loops using speculative execution , 1994, Proceedings of IEEE Scalable High Performance Computing Conference.

[25]  William Pugh,et al.  Counting solutions to Presburger formulas: how and why , 1994, PLDI '94.

[26]  H. Le Verge,et al.  A Note on Chernikova's algorithm , 1992 .

[27]  Monica S. Lam,et al.  Communication-Free Parallelization via Affine Transformations , 1994, LCPC.

[28]  P. Feautrier,et al.  Construction of Do Loops from Systems of Affine Constraints , 1995, Parallel Process. Lett..

[29]  Hoesel van Cpm,et al.  Polyhedral techniques in combinatorial optimization I: theory , 1996 .

[30]  Hoesel van Cpm,et al.  Polyhedral techniques in combinatorial optimization II: computations , 1995 .

[31]  Michael Wolfe,et al.  High performance compilers for parallel computing , 1995 .

[32]  P. Clauss Noname Manuscript-nr. the Volume of a Lattice Polyhedron to Enumerate Processors and Parallelism , 1995 .

[33]  Rizos Sakellariou,et al.  On the Quest for Perfect Load Balance in Loop-Based Parallel Computations , 1996 .

[34]  Paul Feautrier,et al.  Automatic Parallelization in the Polytope Model , 1996, The Data Parallel Programming Model.

[35]  P. Clauss Counting solutions to linear and nonlinear constraints through Ehrhart polynomials: applications to analyze and transform scientific programs , 1996, ICS '96.

[36]  Philippe Clauss,et al.  Counting solutions to linear and nonlinear constraints through Ehrhart polynomials: applications to analyze and transform scientific programs , 1996 .

[37]  Vincent Loechner Contribution a l'etude des polyedres parametres et applications en parallelisation automatique , 1997 .

[38]  Jingling Xue,et al.  Unimodular Transformations of Non-Perfectly Nested Loops , 1997, Parallel Comput..

[39]  Vincent Loechner,et al.  Deriving Formulae to Count Solutions to Parameterized Linear Systems using Ehrhart Polynomials: Appl , 1997 .

[40]  Philippe Clauss,et al.  Handling Memory Cache Policy with Integer Points Counting , 1997, Euro-Par.

[41]  Patrice Quinton,et al.  On Manipulating Z-Polyhedra Using a Canonical Representation , 1997, Parallel Process. Lett..

[42]  Pierre Boulet,et al.  Scanning polyhedra without Do-loops , 1998, Proceedings. 1998 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.98EX192).

[43]  Vincent Loechner,et al.  Parametric Analysis of Polyhedral Iteration Spaces , 1998, J. VLSI Signal Process..

[44]  Pierre Boulet,et al.  Communication Pre-evaluation in HPF , 1998, Euro-Par.

[45]  A. Barvinok,et al.  An Algorithmic Theory of Lattice Points in Polyhedra , 1999 .

[46]  Roy Dz-Ching Ju,et al.  Probabilistic memory disambiguation and its application to data speculation , 1999, CARN.

[47]  onIUT Belfort-Montb Performance Prediction of Distributed Applications Running on Network of Workstations , 1999 .

[48]  Keshav Pingali,et al.  An experimental evaluation of tiling and shackling for memory hierarchy management , 1999, ICS '99.

[49]  Julien Bourgeois,et al.  Performance Prediction of Distributed Applications Running on Network of Workstations , 1999, PDPTA.

[50]  Mahmut T. Kandemir,et al.  A Matrix-Based Approach to Global Locality Optimization , 1999, J. Parallel Distributed Comput..

[51]  K. Aardal Lattice basis reduction and integer programming , 1999 .

[52]  Vincent Loechner PolyLib: A Library for Manipulating Parameterized Polyhedra , 1999 .

[53]  Felix Heine,et al.  Volume Driven Data Distribution for NUMA-Machines , 2000, Euro-Par.

[54]  Benoît Meister,et al.  Automatic memory layout transformations to optimize spatial locality in parameterized loop nests , 2000, CARN.

[55]  Tanguy Risset,et al.  A Library for Z-polyhedral Operations , 2000 .

[57]  Doran Wilde,et al.  A LIBRARY FOR DOING POLYHEDRAL OPERATIONS , 2000 .

[58]  Vincent Loechner,et al.  Data Sequence Locality: A Generalization of Temporal Locality , 2001, Euro-Par.

[59]  Friedrich Eisenbrand,et al.  Cutting Planes and the Elementary Closure in Fixed Dimension , 2001, Math. Oper. Res..

[60]  Jürgen Teich,et al.  Design Space Exploration for Massively Parallel Processor Arrays , 2001, PaCT.

[61]  Jürgen Teich,et al.  Energy estimation of nested loop programs , 2002, SPAA '02.

[62]  Björn Lisper,et al.  Fully Automatic, Parametric Worst-Case Execution Time Analysis , 2003, WCET.

[63]  Benoit Meister Using periodics in integer polyhedral problems , 2003 .

[64]  Jesús A. De Loera,et al.  Effective lattice point counting in rational convex polytopes , 2004, J. Symb. Comput..

[65]  Sergio Yovine,et al.  On synthesizing parametric specifications of dynamic memory utilization , 2004 .

[66]  Vincent Loechner,et al.  Parameterized Polyhedra and Their Vertices , 1997, International Journal of Parallel Programming.

[67]  Martin Griebl,et al.  Index Set Splitting , 2000, International Journal of Parallel Programming.

[68]  Vincent Loechner,et al.  Analytical computation of Ehrhart polynomials and its applications for embedded systems , 2004 .

[69]  Sven Verdoolaege,et al.  Analytical Computation of Ehrhart Polynomials and its Application in Compile-Time Generated Cache Hints , 2004 .

[70]  Michael F. P. O'Boyle,et al.  Nonsingular Data Transformations: Definition, Validity, and Applications , 1999, International Journal of Parallel Programming.

[71]  Vincent Loechner,et al.  Analytical computation of Ehrhart polynomials: enabling more compiler analyses and optimizations , 2004, CASES '04.

[72]  Vincent Loechner,et al.  Communication Optimization for Affine Recurrence Equations Using Broadcast and Locality , 2004, International Journal of Parallel Programming.

[73]  Vincent Loechner,et al.  Precise Data Locality Optimization of Nested Loops , 2004, The Journal of Supercomputing.

[74]  Jean B. Lasserre,et al.  The Integer Hull of a Convex Rational Polytope , 2003, ICCSA.

[75]  Paul Feautrier,et al.  Some efficient solutions to the affine scheduling problem. I. One-dimensional time , 1992, International Journal of Parallel Programming.

[76]  Paul Feautrier,et al.  Dataflow analysis of array and scalar references , 1991, International Journal of Parallel Programming.

[77]  Victor Shoup,et al.  A computational introduction to number theory and algebra , 2005 .

[78]  Kyle A. Gallivan,et al.  Parametric timing estimation with Newton–Gregory formulae , 2006, Concurr. Comput. Pract. Exp..