Mémoire de maîtrise (2017)
Résumé
Dans le domaine informatique, les architectures matérielles tendent vers un niveau de parallélisme toujours plus élevé, de manière à pouvoir traiter de plus en plus d'informations simultanément. L'émergence des processeurs multicoeurs a fait naître de nombreux problèmes liés à la concurrence des algorithmes, ce qui a contribué au développement d'outils performants permettant d'analyser finement l'activité des systèmes parallèles. Cependant, les outils de diagnostic de problèmes et d'analyse de performance pour les systèmes parallèles restent encore peu adaptés à l'étude des processeurs graphiques (GPU). Cela est dû aux grandes disparités dans les architectures existantes et au très haut niveau de parallélisme qu'il est nécessaire de gérer lorsque l'on traite avec des processeurs graphiques. Il est donc toujours relativement complexe d'analyser l'exécution d'un programme sur processeur graphique, alors même que ces accélérateurs matériels connaissent un gain très important de popularité en raison de leur structure se prêtant bien au calcul de haute performance et à l'apprentissage automatique, entre autres. Dans le cadre de ce projet de recherche, nous cherchons à exploiter des méthodes de traçage qui ont prouvé leur efficacité pour l'analyse de programmes s'exécutant sur processeur central (CPU) multicoeurs, afin d'analyser l'activité d'un ou plusieurs processeurs graphiques au cours de l'exécution d'un programme. L'objectif est, grâce au traçage, de fournir des outils appropriés permettant de détecter de possibles problèmes de performance. Grâce à LTTng, un traceur performant pour le système d'exploitation GNU/Linux, nous avons créé un utilitaire permettant de générer des traces unifiées rendant compte de l'activité du processeur graphique pour des programmes basés sur l'interface de programmation HSA. Cette interface, commune à plusieurs acteurs majeurs du marché, se donne comme objectif d'accélérer et faciliter la communication entre processeurs de calcul dans un contexte hétérogène, ce qui en fait une plateforme intéressante pour analyser l'activité d'un processeur graphique. Notre solution, nommée LTTng-HSA, se base sur un ensemble de bibliothèques logicielles pouvant être préchargées à l'exécution d'un programme, de manière à insérer une instrumentation destinée à mieux comprendre le fonctionnement du processeur graphique. Les traces générées au format CTF proposent des informations sur les durées d'exécution des noyaux de calcul, sur les appels de fonctions de l'interface de HSA et donnent accès à diverses métriques venues du processeur graphique. Ce mémoire présente également des solutions de visualisation de ces traces, ainsi que les techniques de fusion et de tri aboutissant à l'obtention d'une trace unifiée représentant l'activité du processeur graphique. LTTng-HSA permet d'obtenir des informations utiles sur la performance d'un programme parallèle basé sur HSA, sans avoir à intervenir pour modifier le programme et avec un faible surcoût temporel. C'est donc un outil intéressant pour trouver l'origine de problèmes de performance dans le cadre d'un programme accéléré par matériel.
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements
