Vous êtes ici : UVSQ RechercheDoctoratSoutenances de thèse

Optimisation itérative de bibliothèque de calculs par division hiérarchique de codes

Par Sébastien DONADIO Discipline : informatique

le 14 septembre 2007

LE VENDREDI 14 SEPTEMBRE 2007 A 13H30
A L'UVSQ LABORATOIRE PRISM BATIMENT DESCARTES - SALLE 301 45 AVENUE DES ETATS UNIS 78035 VERSAILLES CEDEX
Résumé : La complexité grandissante des architectures ne simplifie pas la tâche des compilateurs à générer du code performant. Les générateurs de bibliothèques comme ATLAS, FFTW et SPIRAL ont réussi à intégrer cette difficulté par l'utilisation de recherche itérative. Cette dernière génère différentes versions de programmes et sélectionne la meilleure d'entre elles. Cette thèse explore une solution automatique pour adapter les applications de calculs intensifs à l'architecture complexe des machines. Nous montrerons qu'une approche générative peut être un outil utile à l'implémentation d'une nouvelle approche de compilation hiérarchique pour la génération de code efficace. hiérarchique pour la génération de code efficace. Cette approche, non spécifique, peut être appliquée sur des structures de boucle générales qu'elle divisera en des fragments de code plus simples à optimiser pour un compilateur. Nous proposerons une nouvelle approche de génération de bibliothèques qui s'appuiera sur la recomposition de ces codes avec un modèle très simplifié.

Abstract : The increasing complexity of hardware features incorporated in modern processors makes high performance code generation very challenging. Library generators such as ATLAS, FFTW and SPIRAL overcome this issue by empirically searching in the space of possible program versions for the one that performs the best. This thesis explores fully automatic solution to adapt a compute-intensive application to the target architecture. We show that generative programming is a practical tool to implement a new hierarchical compilation approach for the generation of high performance code. Our general-purpose approach can be applied to generic loop structures. Our approach relies on the decomposition of the original loop nest into simpler kernels. These kernels are much simpler to optimize and furthermore, using such codes makes the performance trade off problem much simpler to express and to solve. We propose a new approach for the generation of performance libraries based on this decomposition method.

Informations complémentaires
Jean-François COLLARD, Ingénieur de recherche Habilité à Diriger des recherches à CITY GROUP à NEW YORK USA- Rapporteur Boris SABANIN, Ingénieur de recherche Habilité à Diriger des recherches à INTEL à NIZHNY NOVGOROD en RUSSIE - Rapporteur William JALBY, Professeur à l'Université de Versailles Saint-Quentin-en-Yvelines -Directeur de Thèse Denis BARTHOU, Maître de Conférences à l'Université de Versailles Saint-Quentin-en-Yvelines - Examinateur Albert COHEN, Chargé de recherche Habilité à diriger des recherches à l'INRIA Futurs- Examinateur Michel Guillemet.Directeur R&D Bull Les Clayes-sous-Bois - Examinateur