next up previous
Next: COMPARE  : un Up: Participation à des Previous: La traduction de

Le projet ESPRIT COMPARE

 

Le projet ESPRIT 5399 COMPARE (COMpiler generation for PARallel machinEs ) a démarré le 01.01.1991. Outre nous-mêmes, ce projet regroupait le CWI (Pays-Bas), le GMD (R.F.A.), Associated Computer Exports ACE (Pays-Bas, coordinateur), Harlequin (Royaume-Uni), STERIA (France) et, en tant que partenaire associé, l'Université de Sarre (R.F.A). Il disposait d'une force de travail d'environ 100 hommes / années sur quatre ans, et la part de l'INRIA correspondait à trois personnes à temps plein.

Le but de COMPARE était de développer un certain nombre de générateurs produisant, à partir de spécifications de haut niveau, des (parties de) compilateurs pour des langages plus ou moins classiques et des machines disposant d'un certain degré de parallélisme (RISC et superscalaires essentiellement). Ces moteurs communiquent entre eux à travers une représentation intermédiaire et sont dirigés par un superviseur; la RI (représentation intermédaire), son interface vis-à-vis des moteurs et le superviseur forment ensemble le système de compilation (COSY ) de COMPARE . COSY autorise une très grande diversité dans la conception et la réalisation de la communication entre les divers moteurs, depuis un enchaînement séquentiel sur un monoprocesseur jusqu'à une coopération entre moteurs incrémentaux sur une machine parallèle. Le lecteur trouvera un bonne et courte présentation de COSY dans [Con95].

Notre participation à COMPARE a consisté essentiellement en l'adaptation de nos systèmes PAGODE et FNC-2 à COSY et en particulier à son langage de description de RI, fSDL [Con94a] (langage de définition des structures), et à la CCMIR (Common Compare Medium-level IR ), ainsi qu'en la production à l'aide de PAGODE un générateur de code pour le processeur SuperSPARC. Je noterais que FNC-2 a été choisi par le Consortium COMPARE [Con91] comme le meilleur système de grammaires attribuées parmi d'autres systèmes concurrents.

En 1992, ma participation a été consacrée au compilateur de démonstration du mini-langage CLaX pour le SPARC. J'ai organisé en catastrophe gif la réalisation d'un traducteur du niveau de la RI qui est proche du langage source (HIR), produit par la partie frontale du compilateur, vers le niveau intermédiaire (MIR), sur lequel peuvent travailler des moteurs indépendants des langages source et objet (allocateur mémoire, optimiseurs divers) et qui est le langage d'entrée du générateur de code. Ce compilateur de démonstration m'a permis de mieux comprendre le modèle COSY , du moins dans ses aspects ``structures de données'' ( fSDL , description de la RI) et ``ingéniérie'' (intégration de moteurs développés indépendamment chez différents partenaires). J'ai été le premier à faire cette expérience pour le projet COMPARE et quasiment le seul dans l'équipe à comprendre vraiment le modèle COSY .

Enfin, j'ai aidé François THOMASSET dans le développement d'un analyseur d'un sous-ensemble de FORTRAN à l'aide de SYNTAX et FNC-2 . C'était sa première utilisation de FNC-2 .

En 1993, une nouvelle version du plan de travail a été mise au point par le consortium et adoptée par la Commission Européenne. L'ensemble des partenaires étaient largement en retard sur le planning, en particulier la tache sur la définition et l'implantation du langage de description fSDL (élement important pour la plate forme COSY ). Six mois avant la deuxième revue (février 94) du projet COMPARE après un tour de table dans l'équipe, je me ne suis rendu compte que nous étions très largement en retard vis-à-vis du plan de travail. En particulier, le méta-générateur de code PAGODE (qui devait être livré lors de cette deuxième revue), était à un stade de développement très embryonnaire, cela indépendamment de l'adaptation à COSY .





next up previous
Next: COMPARE  : un Up: Participation à des Previous: La traduction de



Didier Parigot
Mon Apr 7 11:02:46 MET DST 1997