Previous Contents Next

8   Conclusion

Nous avons présenté ici SPPoC , un outil de calcul polyédrique et de programmation linéaire qui permet l'utilisation à travers une interface unifiée de PIP , de la PolyLib et de l'Omega Library . Plus qu'une simple interface, SPPoC offre des fonctionnalités supplémentaires : prise en charge des changements de variables lors des appels à PIP , amélioration de certaines fonctions de la PolyLib (gestion automatique des dimensions et comptage de points dans un produit cartésien), et un moteur de simplification d'expressions arithmétiques et de systèmes de contraintes.

Le premier objectif de SPPoC est atteint : permettre l'implantation des deux applications présentées dans cet article. Pour bien comprendre le chemin parcouru, il faut savoir qu'une tentative de calcul du volume des communications sur l'exemple donné dans la section 7.2 a été faite en utilisant directement PIP et la PolyLib . Dans un premier temps, aucun résultat n'a pu être obtenu (mémoire insuffisante, temps de calcul prohibitif). Dans un second temps, après découpage manuel du problème, un résultat est finalement sorti. Le volume calculé tenait sur deux pages de texte et était, bien entendu, inexploitable.

Le second objectif est de faire en sorte que SPPoC puisse être plus facilement utilisable pour les autres applications. Une première version est téléchargeable dès maintenant à partir de la page web http://www.lifl.fr/west/sppoc/, mais des améliorations sont nécessaires pour une plus grande diffusion. Le paquetage doit être perfectionné en supprimant de parties de code obsolète, en augmentant l'indépendance par rapport aux versions de PIP et de la PolyLib et en terminant l'interface à l'Omega Library . Il faut aussi ajouter des fonctionnalitées et, bien sûr, continuer la chasse aux bogues.

Le domaine d'application de SPPoC est très large puisqu'il couvre tout le champ des optimisations de compilation ou de parallélisation basées sur des analyses statiques de code. SPPoC permettant une plus grande facilité d'accès aux bibliothèques de calcul polyédrique, nous pensons que des analyses plus complexes pourront être menées à bien et que le prototypage de nouvelles applications sera plus rapide. Notons en particulier qu'il est prévu d'utiliser SPPoC dans le cadre d'une collaboration entre le LIFL et le PRiSM autour du thème de l'analyse de code pour vérifier l'équivalence de programmes.


Previous Contents Next