Thèse soutenue

Des réseaux de processus cyclo-statiques à la génération de code pour le pipeline multi-dimensionnel
FR  |  
EN
Accès à la thèse
Auteur / Autrice : Mohammed Fellahi
Direction : Albert Henri Cohen
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 22/04/2011
Etablissement(s) : Paris 11
Ecole(s) doctorale(s) : Ecole doctorale Informatique de Paris-Sud
Partenaire(s) de recherche : Laboratoire : Institut national de recherche en informatique et en automatique (France) - ALCHEMY
Equipe de recherche : ALCHEMY
Jury : Président / Présidente : Yannis Manoussakis
Examinateurs / Examinatrices : Albert Henri Cohen, Yannis Manoussakis, Pierre Boulet, Alain Girault, Daniel Etiemble, Lionel Lacassagne
Rapporteurs / Rapporteuses : Pierre Boulet, Alain Girault

Résumé

FR  |  
EN

Les applications de flux de données sont des cibles importantes de l’optimisation de programme en raison de leur haute exigence de calcul et la diversité de leurs domaines d’application: communication, systèmes embarqués, multimédia, etc. L’un des problèmes les plus importants et difficiles dans la conception des langages de programmation destinés à ce genre d’applications est comment les ordonnancer à grain fin à fin d’exploiter les ressources disponibles de la machine.Dans cette thèse on propose un "framework" pour l’ordonnancement à grain fin des applications de flux de données et des boucles imbriquées en général. Premièrement on essaye de paralléliser le nombre maximum de boucles en appliquant le pipeline logiciel. Après on merge le prologue et l’épilogue de chaque boucle (phase) parallélisée pour éviter l’augmentation de la taille du code. Ce processus est un pipeline multidimensionnel, quelques occurrences (ou instructions) sont décalées par des iterations de la boucle interne et d’autres occurrences (instructions) par des iterationsde la boucle externe. Les expériences montrent que l’application de cette technique permet l’amélioration des performances, extraction du parallélisme sans augmenter la taille du code, à la fois dans le cas des applications de flux des donnée et des boucles imbriquées en général.