Thèse soutenue

Contribution à l'étude sémantique des langages à parallélisme de données : application à la compilation

FR  |  
EN
Auteur / Autrice : Jean-Luc Levaire
Direction : Luc Bougé
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 1993
Etablissement(s) : Paris 7

Résumé

FR

Un nouveau type d'architecture de machines paralleles est actuellement en train d'emerger. Il repond a deux preoccupations majeures: le besoin en puissance de calcul et la facilite de programmation. Cette evolution repose sur l'utilisation d'un modele de programmation a parallelisme de donnees, pour lequel les machines ont ete adaptes. Les langages associes a ce modele vont donc occuper une place preponderante dans un futur proche. Nous etudions ici la semantique operationnelle de ces langages, en nous basant sur un langage d'etude propose par bouge. Nous etendons dans un premier temps ce langage pour exprimer les structures de controle parallele. Nous proposons alors deux semantiques operationnelles pour ce langage etendu, et montrons formellement leur equivalence. Comme ces semantiques peuvent etre vues comme des techniques de compilation, nous pouvons ainsi valider les methodes employees dans les compilateurs existants. Nous etudions particulierement ici les compilateurs c*, mpl et pompc. Une consequence interessante de cette equivalence est que tous les langages a parallelisme de donnees actuels tels cm-fortran, mp-fortran, c*, mpl, etc, ont la meme puissance expressive, par rapport aux structures de controle paralleles. Une deuxieme approche pour prouver la correction des techniques de compilation est l'equivalence de programmes. Cette approche concerne essentiellement les optimisations, et nous presentons une preuve formelle de la validite de la compilation optimisee du switch parallele proposee par le compilateur pompc. Enfin nous nous sommes aussi interesses aux environnements de programmation pour le parallelisme de donnees. L'implantation de notre langage d'etudes sous l'atelier semantique centaur montre que de tels environnements peuvent etre effectivement developpes et permettre une utilisation agreable du modele de programmation a parallelisme de donnees