Generation de code et analyse interprocedurale au sein d'un environnement de programmation parallele
Auteur / Autrice : | Babak Dehbonei |
Direction : | Paul Feautrier |
Type : | Thèse de doctorat |
Discipline(s) : | Sciences appliquées |
Date : | Soutenance en 1990 |
Etablissement(s) : | Paris 6 |
Résumé
Un environnement de programmation parallele permet de produire des programmes qui s'executent de facon efficace sur les machines paralleles. Deux composantes fondamentales de ce type d'environnement sont l'analyseur de flot de donnees et le generateur de code parallele. Nous presentons une amelioration de la methode de generation de code d'allen et kennedy qui tient compte des sous-expressions susceptibles d'etre executees en parallele en dehors des boucles sequentielles. D'aute part, nous definissons une methode permettant de detecter les reductions generalisees: invariants de boucles, variables d'induction et operation de reductions. Une fois detecte, le code parallele correspondant aux reductions est engendre. Basee sur une analyse semantique, cette methode permet de paralleliser des programmes qu'aucune autre methode ne peut traiter. Deux cadres d'analyse interprocedurale sont utilises en parallelisation: propagation des constantes et calcul des effets des procedures. Ces deux cadres, traites separement auparavant, sont unifies grace a une methode basee sur une evaluation symbolique partielle des programmes. Ainsi nous detectons des comportements (analyse d'effets sensibles au flot de controle) que les methodes classiques ne peuvent pas traiter. Ces techniques sont implementees au sein de l'environnement de programmation parallele pmacs en cours de developpement au centre de recherche du groupe bull