Vous êtes ici : UVSQ RechercheDoctorat

Combiner approches statique et dynamique pour modéliser la performance de boucles HPC par Vincent Palomares

Présentée par : Vincent Palomares Discipline : informatique Laboratoire : PRISM

Résumé :
La complexité des CPUs s'est accrue considérablement depuis leurs débuts, introduisant des mécanismes comme l'exécution dans le désordre, la vectorisation et les environnements multi-coeurs pour améliorer les performances avec chaque génération de processeurs. Cependant, la difficulté a suivi la même tendance pour ce qui est a) d'utiliser ces mêmes mécanismes à leur plein potentiel, b) d'évaluer si un programme utilise une machine correctement, ou c) de savoir si le design d'un processeur répond bien aux besoins des utilisateurs.
Cette thèse porte sur l'amélioration de l'observabilité des facteurs limitants dans les boucles de calcul intensif.
Nous introduirons d'abord un framework combinant CQA et DECAN (des outils d'analyse respectivement statique et dynamique) pour obtenir des métriques détaillées de performance sur des codelets et dans divers scénarios d'exécution.
Nous présenterons ensuite PAMDA, une méthodologie d'analyse de performance tirant partie de l'analyse de codelets pour détecter d'éventuels problèmes de performance dans des applications HPC et en guider la résolution.
Un travail permettant au modèle linéaire Cape de couvrir la microarchitecture Sandy Bridge de façon détaillée sera décrit, lui donnant plus de flexibilité pour effectuer du codesign matériel / logiciel. Il sera mis en pratique dans VP3, un outil évaluant les gains de performance atteignables en vectorisant des boucles.
Nous décrirons finalement UFS, une approche combinant analyse statique et simulation au cycle près pour permettre l'estimation rapide du temps d'exécution d'une boucle en prenant en compte certaines des limites de l'exécution en désordre dans des microarchitectures modernes.

Abstract :
The complexity of CPUs has risen considerably since their beginnings, introducing mechanisms such as register renaming, out-of-order execution, vectorization, prefetchers and multi-core environments to keep performance growing with each product generation. However, so has the difficulty in making proper use of all them, or even evaluate whether one's program makes good use of a machine, whether users' needs even match a CPU's design, or at the other end for CPU architects to know how each feature really affects customers.
This thesis focuses on increasing the observability of potential bottlenecks in HPC computational loops and how they relate to each other in modern microarchitectures.
We will first introduce a framework combining CQA and DECAN (respectively static and dynamic analysis tools) to get detailed performance metrics on small codelets given various execution scenarios.
We will then present PAMDA, a performance analysis methodology leveraging elements obtained from codelet analysis to detect potential performance problems in HPC applications and help resolve them.
A work extending the Cape linear model to better cover Sandy Bridge and give it more flexibility for HW/SW codesign purposes will be described. It will be directly used in VP3, a tool evaluating the performance gains vectorizing loops could provide.
Finally, we will describe UFS, an approach combining static analysis and cycle-accurate simulation to very quickly estimate a loop's execution time while accounting for out-of-order limitations in modern CPUs.
Informations complémentaires
Denis BARTHOU, Professeur des Universités, à l’Université de Bordeaux/Laboratoire Bordelais de Recherche en Informatique (LaBRI) - UMR 5800 - Talence - Rapporteur
Henri-Pierre CHARLES, Chercheur, au CEA/Laboratoire LASTRE - Grenoble - Rapporteur
William JALBY, Professeur des Universités, à l’Université de Versailles Saint-Quentin-en-Yvelines/Laboratoire Parallélisme, Réseaux, Système,
Modélisation (PRISM) - Versailles - Directeur de thèse
François BODIN, Professeur des Universités, à l’Université de Rennes 1/Institut de Recherche en Informatique et Systèmes Aléatoires (IRISA) - UMR 6074 - Rennes - Examinateur
Alexandre FARCY, Ingénieur de Recherche, à Intel - Hillsboro (Etats-Unis) - Examinateur
David KUCK, Directeur, à Intel - Champaign (Etats-Unis) - Examinateur
Contact :
dredval service FED :