Thèse soutenue

Detection de parallelisme dans les boucles imbriquees
FR  |  
EN
Accès à la thèse
Auteur / Autrice : Frédéric Vivien
Direction : Yves Robert
Type : Thèse de doctorat
Discipline(s) : Sciences appliquées
Date : Soutenance en 1997
Etablissement(s) : École normale supérieure (Lyon ; 1987-2009)

Résumé

FR

Nombre d'utilisateurs de l'informatique aimeraient pouvoir executer sur des ordinateurs paralleles leurs programmes sequentiels (ecrits pour etre executes sur des ordinateurs classiques). Il est donc devenu necessaire de savoir paralleliser les programmes sequentiels en programmes executables sur machines paralleles. Cette parallelisation doit etre automatique puisqu'elle s'adresse le plus souvent a de simples utilisateurs. Avant d'initier toute transformation du programme originel, il faut detecter et quantifier le parallelisme qu'il contient implicitement, ce qui requiert la connaissance des dependances existant entre les differents calculs. Ulterieurement, il sera necessaire de reordonner les calculs en explicitant le parallelisme decouvert. Cette these a pour objet la detection automatique du parallelisme implicite et la recherche d'ordonnancements l'explicitant pour des structures de programmes particulieres : les ensembles de boucles imbriquees. Nos travaux ont eu principalement pour but la comprehension des techniques existantes de detection de parallelisme, de leur points forts et de leurs limitations. D'un cote, nous avons etudie les principaux algorithmes preexistant a ces travaux. De l'autre, nous sommes partis du modele theorique fourni par les systemes d'equations recurrentes uniformes pour proposer un algorithme optimal de parallelisation des graphes de dependance reduits polyedriques, representation approchee des dependances qui generalise les deux modes classiques d'approximation. Nous avons compare ce nouvel algorithme aux algorithmes classiques et obtenu une classification des principaux algorithmes. Le probleme de la detection du parallelisme et de son expression n'etant qu'une des multiples composantes de la parallelisation automatique, nous nous sommes interesses aux interactions entre les problemes de placement et d'ordonnancement, et entre les problemes de detection de parallelisme et d'elimination de fausses dependances.