SPPoC : manipulation automatique de polyèdres pour la compilation

Pierre Boulet & Xavier Redon

Résumé :
Le modèle polyèdrique est très souvent utilisé pour l'analyse et la transformation de programme dans les compilateurs paralléliseurs. Les prototypes de recherche dans ce domaine utilisent donc souvent des outils comme PIP (résolution paramétrique de problèmes linéaires), la PolyLib (bibliothèque de manipulation de polyèdres) ou Omega (bibliothèque et interface de manipulation de formules de Presburger). Les deux principaux problèmes de ces outils sont leur manque de convivialité et des modules de simplification trop primitifs. Le manque de simplification fait que l'enchaînement de calculs conduit à des résultats incompréhensibles ou qui n'aboutissent pas pour des problèmes de mémoire ou de temps. La bibliothèque SPPoC (Symbolic Parameterized Polyhedral Calculator) résoud ces problèmes grâce à son interface totalement symbolique et à des modules de simplification des résultats plus poussés. Elle permet aussi d'unifier différents outils. La présentation de SPPoC est illustrée par deux applications : une application de génération de code et une application d'estimation de volume de communications.
Abstract:
The polyhedral model is quite popular in the field of parallelizing compilers. So, research prototypes tend to use tools like PIP (parametric integer programming solver), the PolyLib (library for polyhedra manipulation) or Omega (library and calculator for Presburger formulas). The two main drawbacks of these tools are a poor human-computer interface and a lack of aggressive simplification. This last deficiency leads to sequences of computations which give too complex results or even that cannot be completed due to memory exhaustion or time constraints. The SPPoC (Symbolic Parameterized Polyhedral Calculator) library brings a solution to these problems due to its completely symbolic interface and to its advanced simplification modules. It also allows the unification of different tools. We present two applications which use SPPoC : a code generator and a communication volume estimator.
Mots clefs : Polyèdres, Calcul symbolique, Génération de code, Transformations de boucles, Data-parallélisme, Volume de communications, PIP, PolyLib, Omega Library

Keywords: Polyhedra, Symbolic Computation, Code Generation, Loop Transformations, Data-Parallelism, Communication Volume, PIP, PolyLib, Omega Library




This document was translated from LATEX by HEVEA and HACHA.