Efficient search-based strategies for polyhedral compilation : algorithms and experience in a production compiler

Konrad Trifunovic 1
1 Parkas - Parallélisme de Kahn Synchrone
DI-ENS - Département d'informatique de l'École normale supérieure, ENS Paris - École normale supérieure - Paris, Inria Paris-Rocquencourt, CNRS - Centre National de la Recherche Scientifique : UMR 8548
Résumé : Une pression accrue s'exerce sur les compilateurs pour mettre en œuvre des transformations de programmes de plus en plus complexes délivrant le potentiel de performance des processeurs multicœurs et des accélérateurs hétérogènes. L'espace de recherche des optimisations de programmes possibles est gigantesque est manque de structure. La recherche de la meilleure transformation, qui inclut la prédiction des gains estimés de performance offerts par cette transformation, constitue le problème le plus difficiles pour les compilateurs optimisants modernes. Nous avons choisi de nous concentrer sur les transformations de boucles et sur leur automatisation, exprimées dans le modèle polyédrique. Les méthodes d'optimisation de programmes dans le modèle polyédrique se répartissent grossièrement en deux classes. La première repose sur l'optimisation linéaire d'une fonction de analytique de coût. La deuxième classe de méthodes met en œuvre une recherche itérative. La première approche est rapide, mais elle est facilement mise en défaut en ce qui concerne la découverte de la solution optimale. L'approche itérative est plus précise, mais le temps de compilation peut devenir prohibitif. Cette thèse contribue une approche nouvelle de la recherche itérative de transformations de programmes dans le modèle polyédrique. La nouvelle méthode proposée possède la précision et la capacité effective à extraire des transformations profitables des méthodes itératives, tout en en minimisant les faiblesses. Notre approche repose sur l'évaluation systématique d'une fonction de coût et de prédiction de performances non-linéaire. Par ailleurs, la parallélisation automatique dans le modèle polyédrique est actuellement dominée par des outils de compilation source-à-source. Nous avons choisi au contraire d'implémenter nos techniques dans la plateforme GCC, en opérant sur une représentation de code de bas niveau, à trois adresses. Nous montrons que le niveau d'abstraction de la représentation intermédiaire choisie engendre des difficultés de passage à l'échelle, et nous montrons comment les surmonter. À l'inverse, nous montrons qu'une représentation intermédiaire de bas niveau ouvre de nouveaux degrés de liberté, bénéficiant à notre stratégie itérative de recherche de transformations, et à la compilation polyédrique de manière générale.
Type de document :
Thèse
Other [cs.OH]. Université Paris Sud - Paris XI, 2011. English. 〈NNT : 2011PA112096〉
Liste complète des métadonnées

Littérature citée [162 références]  Voir  Masquer  Télécharger

https://tel.archives-ouvertes.fr/tel-00661334
Contributeur : Abes Star <>
Soumis le : jeudi 19 janvier 2012 - 11:23:07
Dernière modification le : vendredi 16 juin 2017 - 10:59:37
Document(s) archivé(s) le : vendredi 20 avril 2012 - 02:26:41

Fichier

VA_TRIFUNOVIC_KONRAD_04072011....
Version validée par le jury (STAR)

Identifiants

  • HAL Id : tel-00661334, version 1

Collections

STAR | INRIA | PSL

Citation

Konrad Trifunovic. Efficient search-based strategies for polyhedral compilation : algorithms and experience in a production compiler. Other [cs.OH]. Université Paris Sud - Paris XI, 2011. English. 〈NNT : 2011PA112096〉. 〈tel-00661334〉

Partager

Métriques

Consultations de
la notice

491

Téléchargements du document

272