Avant-projet A3

previous up next contents
Précédent : Grands domaines d'application Remonter : Avant-projet A3, Analyse Avancée Appliquée Suivant : Résultats nouveaux



Logiciels

 

PILO: pipeline logiciel



Participants : Christine Eisenbeis , Antoine Sawaya


PILO est un package de pipeline logiciel interfaçable. PILO est basé sur une modélisation de la boucle (de type FOR) à optimiser, ainsi que des contraintes architecturales du processeur. La boucle est donnée sous la forme de son graphe de dépendances de données, spécifiant les latences d'exécution ainsi que les distances de dépendance. On peut aussi préciser pour chaque variable portée par une dépendance si le renommage est autorisé ou non. Les contraintes architecturales sont spécifiées sous la forme de tables de réservation, nombre d'unités fonctionnelles et nombre de registres disponibles. En sortie, PILO donne un ordonnancement de pipeline logiciel, avec prologue, état permanent et épilogue.

PILO est basé sur la méthode DESP (Decomposed Software Pipelining [6]), améliorée dans [7]. Il est utilisé dans l'environnement Sage++ (voir section [*]) ainsi que dans l'environnement SALTO (voir section [*]).

LORA: allocation de registres dans les boucles



Participant : Sylvain Lelait


LORA est un package d'allocation de registres dans les boucles, basé sur le meeting graph (voir section [*]). Le but est de trouver un compromis entre nombre de registres utilisés et déroulage de la boucle nécessaire à l'allocation.

LORA prend en entrée une famille d'intervalles circulaires spécifiée par la taille du cercle, les points extrêmaux de chaque intervalle ainsi qu'un nombre de registres disponibles. On peut aussi spécifier des types différents pour chaque intervalle et un nombre de registres par type. LORA calcule un degré de déroulage et une allocation, spécifiée pour chaque instance d'intervalle dans la boucle déroulée. Selon les options, on peut spécifier la recherche du degré minimal de déroulage ou du nombre minimal de registres, et différentes heuristiques.

LORA est interfacé avec PILO (voir ci-dessus), et a aussi été intégré dans l'environnement MOST (Modulo Scheduling Testbed), développé à l'Université de McGill (Montreal).



previous up next contents Précédent : Grands domaines d'application Remonter : Avant-projet A3, Analyse Avancée Appliquée Suivant : Résultats nouveaux