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.