Bensalem, Hachem (2021). Méthodes d’instrumentation et d’optimisation d’applications élaborées en OpenCL mise en oeuvre sur des plateformes hétérogènes reconfigurables. Thèse de doctorat électronique, Montréal, École de technologie supérieure.
Prévisualisation |
PDF
Télécharger (2MB) | Prévisualisation |
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.
Titre traduit
Framework and methods for the instrumentation and the optimization for OpenCLbased designs on heterogenous and reconfigurable platforms
Résumé traduit
The need for high-performance computing platforms has recently intensified with the emergence of new applications, such as artificial intelligence and data science. New reconfigurable heterogeneous platforms are thus deployed with a much greater potential of computational acceleration than those based on a multiprocessor architecture. These platforms are powered with several computing elements such as multi-core processing units (CPUs), specialized processors for graphic processing (GPUs) and field-programmable gate arrays (FPGAs). FPGA vendors now offers high-level synthesis (HLS) tools to support this architectural diversity. On the other hand, the performance of an application created by these HLS tools is strongly dependent on its high-level description, which is generally less competitive with that described with low-level hardware description languages. Moreover, this performance degradation is difficult to analyze and diagnose, since these HLS tools do not provide a mechanism to analyze the causes of this degradation like those that exist for CPUs and GPUs.
The main objective of the work presented in this thesis is to improve the productivity of application development on FPGA-based reconfigurable heterogeneous platforms. This work aims to improve the observation of temporal events, in FPGA-based accelerators described in OpenCL, paving the way for the precise diagnosis of performance losses such as pipeline stalls. Another specific objective is to ease the elaboration of optimization methodologies to improve the performance of FPGA-based accelerators described in OpenCL.
The first contribution of this thesis proposes a solution for the in-situ analysis of timing performance of an OpenCL kernel implemented in FPGA by integrating a monitor developed with a hardware language. This monitor can easily be integrated into OpenCL kernels through hardware/software design approach. It can then extract runtime information at FPGA clock cycle accuracy. The second contribution exploits this new instrumentation method by proposing a framework to extract the timing performance of OpenCL kernels. A theoretical model is proposed to identify the number of instruments to be inserted to precisely compute the timing performance of an application. To the best of our knowledge, the proposed instrumentation framework is the first framework that proposes the measurement of timing performance such as latency and initiation intervals of loops and to identify performance bottlenecks of OpenCL-based designs on FPGA.
The third and fourth contributions of this thesis open the door to design an automatic optimization tool and methodology for OpenCL-based designs on FPGA. Indeed, OpenCLbased optimization techniques are proposed to accelerate OpenCL-based designs and they are applied to the secure hash algorithms (SHA) SHA-2 and SHA-3. The results showed that implementations of SHA-2 and SHA-3 derived from OpenCL descriptions offer throughputs of 3.9 Gbps and 22.36 Gbps respectively, which are 4.3 times and 2 times higher than the best previously published HLS-based designs.
Type de document: | Mémoire ou thèse (Thèse de doctorat électronique) |
---|---|
Renseignements supplémentaires: | "Thèse présentée à l’École de technologie supérieure comme exigence partielle à l’obtention du doctorat en génie". Comprend des références bibliographiques (pages 119-132). |
Mots-clés libres: | FPGA, OpenCL, HLS, instrumentation, optimisation, hétérogène reconfigurable, SHA-2, SHA-3 |
Directeur de mémoire/thèse: | Directeur de mémoire/thèse Blaquière, Yves |
Codirecteur: | Codirecteur Savaria, Yvon |
Programme: | Doctorat en génie > Génie |
Date de dépôt: | 17 janv. 2022 19:01 |
Dernière modification: | 17 janv. 2022 19:01 |
URI: | https://espace.etsmtl.ca/id/eprint/2841 |
Gestion Actions (Identification requise)
Dernière vérification avant le dépôt |