Passer à la navigation principale Passer à la recherche Passer au contenu principal

Méthodes d’instrumentation et d’optimisation d’applications élaborées en OpenCL mise en oeuvre sur des plateformes hétérogènes reconfigurables

  • Hachem Bensalem

Thèses et mémoires: Thèse de doctoratDoctorat en génie: Génie

Résumé

Le besoin de plateformes de calcul de haute performance s’est récemment intensifié avec l’émergence de nouvelles applications, telles l’intelligence artificielle et la science de données. De nouvelles plateformes hétérogènes reconfigurables sont ainsi déployées avec un potentiel d’accélération de calcul nettement supérieur à celles basées sur une architecture multiprocesseur. Ces plateformes se caractérisent par la diversité croissante de leurs éléments de calcul tels des processeurs multi-noyaux (central processing unit (CPU)), des processeurs spécialisés pour le traitement graphique (graphics processing unit (GPU)) et des unités de calcul reconfigurables de type FPGA (field-programmable gate array). Les fournisseurs de FPGA offrent maintenant des environnements logiciels de conception pour supporter cette diversité architecturale, appelés outils de synthèse de haut niveau (high-level synthesis (HLS) tools). En revanche, la performance d’une application créée par ces outils HLS est fortement dépendante de sa description de haut niveau, généralement peu compétitive par rapport à celle obtenue lorsque décrite avec des langages de description de matériel opérant à bas niveau. De plus, cette dégradation de performance est difficile à analyser et diagnostiquer, puisque ces outils HLS n’offrent pas un mécanisme permettant d’analyser les causes de cette dégradation comme ceux qui existent pour les CPU et GPU. L’objectif principal des travaux présentés dans cette thèse consiste à améliorer la productivité de développement d’applications sur les plateformes hétérogènes reconfigurables intégrant CPU et FPGA. Ils visent en particulier à améliorer l’observation d’événements temporels dans les accélérateurs élaborés en OpenCL ouvrant la voie vers le diagnostic précis des pertes de performance, comme le décrochage du pipeline. Un autre objectif spécifique consiste à faciliter l’élaboration de méthodologies d’optimisation pour améliorer la performance des accélérateurs sur FPGA décrits en OpenCL. La première contribution de cette thèse propose une solution pour l’analyse in-situ de performances temporelles d’un noyau OpenCL implémenté sur FPGA en intégrant un moniteur développé avec un langage de description matériel. Ce moniteur peut facilement être intégré dans des noyaux OpenCL grâce à une approche de conception matérielle/logicielle. Il peut mesurer les évènements dans le FPGA avec une précision au cycle d’horloge du FPGA. La deuxième contribution exploite cette nouvelle solution d’instrumentation par la proposition d’une plateforme qui permet d’extraire les performances temporelles des noyaux OpenCL. Une modélisation théorique est proposée pour identifier le nombre d’instruments à insérer afin de calculer précisément les performances temporelles d’une application. Au meilleur de nos connaissances, cette plateforme d’instrumentation est la première qui propose la mesure des performances temporelles tels les latences et les intervalles d’initiation de boucles d’une application sur FPGA. Les résultats ont montré que cette plateforme permet d’identifier les causes de dégradation de performances. Les troisième et quatrième contributions présentent les assises vers un outil d’optimisation automatique pour les accélérateurs de type FPGA élaborés en OpenCL. En effet, des techniques d’optimisation basées sur OpenCL sont proposées et elles sont appliquées sur les algorithmes du hachage (secure hash algorithm (SHA)) SHA-2 et SHA-3. Les résultats ont montré que les implémentations du SHA-2 et SHA-3 offrent un débit de traitement de données de 3.9 Gbps et de 22.36 Gbps respectivement, qui sont 4.3 fois et 2 fois plus élevées que les meilleures publiées dans la littérature implémentées par des outils HLS.
Date15 oct. 2021
langue originaleFrançais
Établissement diplômant
  • École de technologie supérieure
SuperviseurYves Blaquière (Directeur(-trice)) & Yvon Savaria (Codirecteur(-trice))

Mots-clés

  • FPGA
  • OpenCL
  • HLS
  • instrumentation
  • optimisation
  • hétérogène reconfigurable
  • SHA-2
  • SHA-3

Citer cette ressource

'