Thèse soutenue

FR
Auteur / Autrice : Yuriy Kashnikov
Direction : William Jalby
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 2013
Etablissement(s) : Versailles-St Quentin en Yvelines

Mots clés

FR

Résumé

FR  |  
EN

Un choix efficace des optimisations de compilation améliore notablement la performances des applications. En raison du grand nombre de choix possibles une approche exhaustive est irréalisable et l'exploration peut facilement tomber dans un minimum local. Les compilateurs utilisent des heuristiques qui parfois dégradent la performance, ce qui contraint les utilisateurs à des ajustements manuels. Cette thèse propose une approche holistique basée sur l'apprentissage automatique pour améliorer la sélection des optimisations du compilateur. L'analyse statique d'un grand nombre de boucles permet de montrer l'existence d'un potentiel d'optimisation significatif. On applique ensuite Milepost GCC, un compilateur basé sur l'apprentissage automatique, pour optimiser différentes applications. Il utilise les caractéristiques statiques des fonctions et un algorithme de classification, pour prédire une bonne séquence d'optimisations. Milepost apporte une accélération significative qui surpasse les solutions existantes. La contribution majeure de cette thèse est une méthode de méta-optimisation, ULM. Elle exploite des données statiques et dynamiques afin de déterminer les meilleurs jeux d'apprentissage pour différent algorithmes de classification. En mettant plusieurs algorithmes en compétition, ULM construit un prédicteur plus efficace que les solutions existantes. ULM prédit dans 92% des cas étudiés la meilleure combinaison d'optimisations.