Thèse soutenue

Contributions aux environnements d’exécution pour processeurs massivement parallèles et clustérisés appliqués aux applications embarquées et hautes performances

FR  |  
EN
Auteur / Autrice : Julien Hascoët
Direction : Jean-François NezanBenoît Dupont de Dinechin
Type : Thèse de doctorat
Discipline(s) : Mathématiques et Sciences et Technologies de l'Information et de la Communication
Date : Soutenance le 14/12/2018
Etablissement(s) : Rennes, INSA
Ecole(s) doctorale(s) : École doctorale Mathématiques et sciences et technologies de l'information et de la communication (Rennes)
Partenaire(s) de recherche : Laboratoire : Institut d'Électronique et de Télécommunications (Rennes)
Jury : Président / Présidente : Alix Munier-Kordon
Examinateurs / Examinatrices : Jean-François Nezan, Benoît Dupont de Dinechin, François Irigoin, Alain Girault, Karol Desnos
Rapporteurs / Rapporteuses : François Irigoin, Alain Girault

Résumé

FR  |  
EN

Le besoin en calculs est toujours plus important et difficile à satisfaire, spécialement dans le domaine de l’informatique embarquée qui inclue les voitures autonomes, drones et téléphones intelligents. Les systèmes embarqués doivent respecter des contraintes fortes de temps, de consommation et de sécurité. Les nouveaux processeurs parallèles et hétérogènes comme le MPPA® de Kalray utilisé dans cette thèse, doivent alors combiner haute performance et basse consommation. Pour cela, le MPPA® intègre 288 coeurs, regroupés en 18 clusters à mémoire locale partagée, un réseau sur puce et des moteurs DMA pour les communications. Ces processeurs sont difficiles à programmer, engendrant des coûts de développement importants. Cette thèse a pour objectif de simplifier leur programmation tout en optimisant les performances finales. Nous proposons pour cela AOS, une librairie de communication et synchronisation haute performance gérant les mémoires locales distribuées des processeurs clustérisés. La librairie atteint 70% de la crête matérielle pour des transferts supérieurs à 8 KB. Nous proposons plusieurs outils de développement basés sur AOS et des modèles de programmation flux-dedonnées pour accélérer le développement d’applications parallèles pour processeurs clustérisés, notamment OpenVX qui est un nouveau standard pour les applications de vision et les réseaux de neurones. Nous automatisons l’optimisation de l’application OpenVX en faisant du pré-chargement de données et en les fusionnants, pour éviter le mur de la bande passante mémoire externe. Les résultats montrent des facteurs d’accélération super linéaires.