De l'algorithme à l'implémentation, flot d'optimisations pour le calcul haute performance sur GPU embarqués
Auteur / Autrice : | Mickaël Seznec |
Direction : | Nicolas Gac, François Orieux, Alvin Sashala Naik |
Type : | Thèse de doctorat |
Discipline(s) : | Traitement du signal et des images |
Date : | Soutenance le 25/10/2021 |
Etablissement(s) : | université Paris-Saclay |
Ecole(s) doctorale(s) : | École doctorale Sciences et technologies de l'information et de la communication |
Partenaire(s) de recherche : | Laboratoire : Laboratoire des signaux et systèmes (Gif-sur-Yvette, Essonne ; 1974-....) - Thales Research and Technology (Palaiseau, Essonne) |
référent : Faculté des sciences d'Orsay | |
graduate school : Université Paris-Saclay. Graduate School Informatique et sciences du numérique (2020-....) | |
Jury : | Président / Présidente : Frédéric Champagnat |
Examinateurs / Examinatrices : Cristina Silvano, Michaël Krajecki, Julien Demouth, Jean-François Nezan | |
Rapporteurs / Rapporteuses : Cristina Silvano, Michaël Krajecki |
Mots clés
Mots clés contrôlés
Résumé
Les algorithmes de traitement numérique actuels nécessitent une puissance de calcul accrue pour obtenir des résultats plus précis et traiter des données plus volumineuses. Dans le même temps, les architectures matérielles se spécialisent, avec des accélérateurs très efficaces pour des tâches spécifiques. Dans ce contexte, le chemin du déploiement de l'algorithme à l'implémentation est de plus en plus complexe. Il est donc crucial de déterminer comment les algorithmes peuvent être modifiés pour tirer parti des capacités du matériel. Dans notre étude, nous nous sommes intéressé aux unités graphiques (GPU), un type de processeur massivement parallèle. Notre travail a consisté à l'adaptation entre l'algorithme et le matériel d'exécution. À l'échelle d'un opérateur mathématique, nous avons modifié un algorithme de convolution d'images pour utiliser les tensor cores et montré qu'on peut en doubler les performances pour de grands noyaux de convolution. Au niveau méthode, nous avons évalué des solveurs de systèmes linéaires pour l'estimation de flux optique afin de trouver le plus adéquat sur GPU. Grâce à ce choix et après de nouvelles optimisations spécifiques, comme la fusion d'itérations ou la réutilisation de zones mémoire, la méthode est deux fois plus rapide que l'implémentation initiale, fonctionnant à 60 images par seconde sur plateforme embarquée (30W). Enfin, nous avons également montré l'intérêt, dans le cadre des réseaux de neurones profonds, de cette méthode de conception d'algorithmes adaptée au matériel. Avec pour exemple l'hybridation entre un réseau conçu pour le flux optique avec une autre architecture préentrainée et conçue pour être efficace sur des cibles à faible puissance de calcul.