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 - TEL - Thèses en ligne
Thèse Année : 2024

Porting sonar processing chains to heterogeneous architecture : design and evaluation of a moldable task-based programming environment

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

Résumé

The increasing computational demands in SONAR processing chains lead to the choice of heterogeneous architectures based on GPGPU. The complexity of these architectures makes algorithm implementation challenging for individuals who are not specialists in both the application domain and parallel programming. This thesis aims to address this issue by leveraging task-based programming concepts. Static code analysis methods allowed us to group function calls on a GPU to limit certain overheads by increasing task granularity.To extend this approach to enable the utilization of multiple GPUs while controlling memory usage, we explored a moldable task model. This was instantiated into a new OpenMP directive that unifies several older parallelization directives. In this model, moldable tasks or sub-tasks retain the ability to have dependencies. The design of a prototype executive support for managing these moldable tasks focused on load balancing on a heterogeneous architecture and defining an algorithm to detect dependencies between such tasks. Experiments on a SONAR processing beamforming algorithm and the Cholesky factorization algorithm highlighted the method's benefits and some weaknesses in the implementation choices.
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.
Fichier principal
Vignette du fichier
POLET_Pierre_Etienne_2024ENSL0004.pdf (1.83 Mo) Télécharger le fichier
Origine Version validée par le jury (STAR)

Dates et versions

tel-04633261 , version 1 (03-07-2024)

Identifiants

  • HAL Id : tel-04633261 , version 1

Citer

Pierre-Etienne Polet. 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. Informatique [cs]. Ecole normale supérieure de lyon - ENS LYON, 2024. Français. ⟨NNT : 2024ENSL0004⟩. ⟨tel-04633261⟩
131 Consultations
52 Téléchargements

Partager

More