Portage des chaînes de traitement sonar sur architecture hétérogène : conception et évaluation d'un environnement de programmation basé sur les tâches moldables
Auteur / Autrice : | Pierre-Etienne Polet |
Direction : | Thierry Gautier |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 03/04/2024 |
Etablissement(s) : | Lyon, École normale supérieure |
Ecole(s) doctorale(s) : | École doctorale InfoMaths (Lyon ; 2009-....) |
Partenaire(s) de recherche : | Entreprise : Thales DMS |
Laboratoire : Laboratoire de l'informatique du parallélisme (Lyon ; 1988-....) - Algorithms and Software Architectures for Distributed and HPC Platforms | |
Jury : | Président / Présidente : Bruno Raffin |
Examinateurs / Examinatrices : Thierry Gautier, Bruno Raffin, Camille Coti, Samuel Thibault, Ramy Fantar | |
Rapporteur / Rapporteuse : Camille Coti, Samuel Thibault |
Mots clés
Résumé
L'augmentation des besoins en calcul dans les chaînes de traitement SONAR incite au choix d'architectures hétérogènes à base de GPGPU. La complexité de ces architectures rend l'implémentation d'algorithmes difficile pour des personnes qui ne sont pas à la fois spécialistes du domaine d'application et de la programmation parallèle. Cette thèse propose de répondre à cette problématique en exploitant des notions de programmation par tâches. Des méthodes d'analyse statique du code nous ont permis de regrouper les appels de fonction sur un GPU afin de limiter certains surcoûts en augmentant la granularité des tâches. Afin d'étendre cette approche pour permettre l'exploitation de plusieurs GPU tout en contrôlant l'utilisation mémoire, nous avons étudié un modèle à base de tâches moldable. Celui-ci a été décliné en une nouvelle directive OpenMP qui permet d'unifier plusieurs directives de parallélisation plus anciennes. Dans ce modèle les tâches moldables ou les sous-tâches conservent la capacité d'avoir des dépendances. La conception d'un prototype de support exécutif pour la gestion de ces tâches moldables s'est attachée à gérer l'équilibrage de charge sur une architecture hétérogène ainsi qu'à définir un algorithme pour détecter les dépendances entre de telles tâches. Des expérimentations sur un algorithme de formation de voies issu des chaînes de traitement SONAR et sur l'algorithme de factorisation de Cholesky ont mis en avant l'intérêt de la méthode et certaines faiblesses des choix d'implémentation.