Thèse soutenue

Architectures matérielles et logicielles pour l'accélération du "deep learning" sur multiprocesseur évolutif embarqué

FR  |  
EN
Auteur / Autrice : Nicolas Leclaire
Direction : Stéphane Mancini
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 04/01/2022
Etablissement(s) : Université Grenoble Alpes
Ecole(s) doctorale(s) : École doctorale mathématiques, sciences et technologies de l'information, informatique (Grenoble ; 199.-....)
Partenaire(s) de recherche : Laboratoire : Techniques de l’informatique et de la microélectronique pour l’architecture des systèmes intégrés (Grenoble ; 1994-....)
Entreprise : STMicroelectronics (Crolles, Isère, France)
Jury : Président / Présidente : Giorgio Di Natale
Examinateurs / Examinatrices : Renaud Pacalet, François Berry, Laurent Fesquet
Rapporteurs / Rapporteuses : Matthieu Moy, Virginie Fresse

Mots clés

FR  |  
EN

Mots clés contrôlés

Résumé

FR  |  
EN

Les réseaux de neurones convolutifs (CNN) sont largement utilisés dans le domaine la reconnaissance d'images et donnent de très bons résultats comparés aux algorithmes classiques. Pour améliorer le taux de reconnaissance et augmenter le nombre de classes reconnaissables, les réseaux de neurones sont de plus en plus profonds et exigeants en calculs.Dans le contexte embarqué, les contraintes de ressources ne permettent pas d'exécuter les réseaux de neurones les plus coûteux en temps-réel. Les plateformes peuvent manquer de puissance de calculs et/ou de mémoire pour stocker l'ensemble des paramètres.Ce manuscrit propose plusieurs optimisations afin d'améliorer les performances des opérations de convolution dans le contexte multiprocesseurs embarqués.La première est l'optimisation des ressources matérielles de la plateforme : le nombre d'unités de calcul, de registres, la taille mémoire, la bande passante sont des éléments à prendre en compte pour utiliser au mieux la puissance de calculs disponible.La seconde est l'optimisation des algorithmes de convolution. L'algorithme de Winograd permet de réduire la complexité arithmétique de la convolution jusqu'à un facteur 2.25 en transformant les opérations de convolution en multiplications élément par élément. Cependant, Winograd requiert plus de registres afin de garder les données intermédiaires lors de l'exécution de l'algorithme, ce qui pénalise ses performances par rapport à l'algorithme de convolution direct.Pour résoudre ce problème, des évolutions architecturales sont proposées avec l'ajout de registres supplémentaires et de nouvelles instructions afin d'améliorer le facteur d'accélération de Winograd par rapport à la convolution.Les performances ont été évaluées sur la plateforme ASMP (Application Specific Multi Processors) à base de 8 processeurs STxP70 de STMicroelectronics en utilisant un co-processeur vectorielle permettant de réaliser jusqu'à 8 MAC (Multiplication Accumulation) par cycle en monocoeur et jusqu'à 64 MAC par cycle sur 8 processeurs à la fois.