Français Anglais
Accueil Annuaire Plan du site
Accueil > Production scientifique > Thèses et habilitations
Production scientifique
Habilitation à diriger des recherches de

Habilitation à diriger des recherches
Equipe : Architectures parallèles

Contributions à l'optimisation des programmes de haut niveau

Début le 01/01/1970
Direction :

Ecole doctorale : ED STIC 580
Etablissement d'inscription : Université Paris-Saclay

Lieu de déroulement : LRI-ARCHI

Soutenue le 12/12/2012 devant le jury composé de :
François Bodin, CAPS Entreprise, Rapporteur
François Irigoin, Mines ParisTech, Rapporteur
Sanjay Rajopadhye, Colorado State University, Rapporteur
Pierre Boulet, Université de Lille, Examinateur
Philippe Clauss, Université de Strasbourg, Examinateur
Albert Cohen, INRIA Rocquencourt, Examinateur
Daniel Étiemble, Université Paris-Sud, Examinateur

Activités de recherche :

Résumé :
Le temps où la technologie permettait l'amélioration des
performances des programmes mécaniquement, au travers de
l'augmentation en fréquence des processeurs, est révolu depuis
plusieurs années. La technologie actuelle des transistors atteint ses
limites physiques, rendant plus difficile la miniaturisation d'un
transistor sans fuite de courant électrique et par conséquent sans
instabilité du circuit. La réponse des architectes à cette crise
technologique a été de placer plusieurs coeurs sur une même puce.
Cette solution permet de mettre toujours plus de transistors par unité
de surface et d'augmenter la performance crête théorique, sans
nécessiter l'augmentation de la fréquence d'horloge. Mais le prix à
payer pour tirer parti de ces architectures est la réécriture des
applications. Et ce prix est aujourd'hui exorbitant.

Durant cette présentation, nous détaillerons notre angle d'attaque
pour permettre aux développeurs d'application de tirer parti des
architectures modernes sans sacrifier leur productivité : celui de
la compilation dite de haut niveau. Nous montrerons comment les
programmes peuvent être manipulés efficacement au travers d'une
représentation mathématique appelée modèle polyédrique. Nous
présenterons nos contributions et la progression de ce modèle vers
un tel niveau de maturité qu'il est aujourd'hui utilisé dans plusieurs
compilateurs de production, tels que GCC, LLVM ou IBM XL. Nous
décrirons nos différentes stratégies et extensions pour rendre ce
modèle toujours plus efficace dans toujours plus de cas. Enfin, nous
esquisserons plusieurs perspectives de recherche pour la compilation
de haut niveau.