Thèse soutenue

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

FR  |  
EN
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 en Informatique et Mathématiques de 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
Rapporteurs / Rapporteuses : Camille Coti, Samuel Thibault

Résumé

FR  |  
EN

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.