Présentation
En anglaisRÉSUMÉ
Après avoir rappelé les différentes étapes qui ont mené des cartes graphiques des années 1980 aux processeurs graphiques entièrement programmables appelés GPU (2007), cet article présente les caractéristiques essentielles des GPU. La naissance de l’écosystème CUDA (2007) et l’explosion du nombre de codes scientifiques accélérés par GPU a conduit à des avancées technologiques spectaculaires de ces processeurs: évolutions matérielles, logicielles, des mémoires, des techniques d’utilisation du parallélisme. Elles permettent de comprendre l’importance croissante des GPU dans de nombreuses applications (calcul scientifique, réseaux de neurones, imagerie, bio-informatique, minage de crypto-monnaie, etc.).
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleABSTRACT
After a brief review of the different steps from graphics boards (1980s) to programmable graphics processing units or GPUs (2007), we present the main GPU features. CUDA’s initial release (2007) and the tremendous increase in GPU accelerated scientific codes have resulted in spectacular technological breakthroughs in these processors. We detail them according to their different aspects: software, hardware, memory hierarchies, and techniques to exploit parallelism. They explain the increasing importance of GPUs in numerous applications (scientific calculation, neural networks, imaging, bio-computing, mining of crypto-currency, etc.).
Auteur(s)
-
Daniel ETIEMBLE : Ingénieur de l’INSA de Lyon - Professeur émérite à l’université Paris Sud
-
David DEFOUR : Docteur en Informatique de l’ENS de Lyon - Maître de Conférences à l’université de Perpignan
INTRODUCTION
L’année 2007 a été marquée par la naissance de l’écosystème CUDA de la société NVIDIA et la période 2007-2017 a vu l’explosion du nombre de codes de calcul scientifique accélérés par les processeurs graphiques (GPU). Il existe actuellement trois grands fournisseurs de processeurs graphiques : AMD, Nvidia et Intel, avec différents segments : GPU pour stations de travail et PC, GPU pour systèmes mobiles et APU (Accelerated Processor Unit), dans lesquels CPU et GPU sont intégrés dans la même puce.
Nous rappelons brièvement les différentes étapes qui ont conduit du pipeline des cartes graphiques des années 1980 aux premiers processeurs graphiques unifiés, totalement programmables, en 2007. Le principe de fonctionnement d’un GPU est détaillé, avec l’exemple de l’architecture Fermi. La mise en œuvre de l’approche SIMT (Single Instruction Multiple Thread) est explicitée. Puis nous développons les différents aspects de dix années d’avancées technologiques liées au calcul généraliste sur GPU (GPGPU).
L’évolution des parts de marché, les applications du GPGPU et les évolutions logicielles sont présentées avec notamment les détails sur l’écosystème permettant de disposer d’API de haut niveau (proche de C) et de bas niveau (proche du matériel).
L’évolution du matériel est explicitée, avec les différentes générations micro-architecturales, les problèmes de consommation et l’apport d’unités de calcul et d’instructions spécialisées.
La hiérarchie mémoire et son évolution sont détaillées, avec les apports technologiques et la simplification introduite par l’approche « mémoire unifiée ».
Différentes techniques permettent d’améliorer l’exploitation du parallélisme, notamment au niveau des ordonnanceurs et des dispositifs matériels de gestion du parallélisme (synchronisation et opérations atomiques).
Tout en conservant leur rôle initial pour l’affichage graphique, les GPU sont devenus un acteur principal du calcul massivement parallèle. Ils exploitent le parallélisme de données grain fin que l’on trouve dans une large gamme d’applications, du calcul haute performance aux réseaux de neurones en passant par le génome. Le modèle d’exécution SIMT leur permet d’avoir un avantage significatif sur les CPU pour le parallélisme massif de données.
KEYWORDS
CPU | GPU | CUDA | NVIDIA
DOI (Digital Object Identifier)
CET ARTICLE SE TROUVE ÉGALEMENT DANS :
Accueil > Ressources documentaires > Électronique - Photonique > Électronique > Architecture et tests des circuits numériques > Processeurs graphiques totalement programmables (GPU) > Remarques pour conclure
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(238 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
7. Remarques pour conclure
Des premiers GPU à architecture unifiée de 2007 aux GPU de 2017, ce type de processeurs est celui qui a accompli les progrès les plus spectaculaires comme l’ont montré la figure 7 et le tableau 2 présentés précédemment. Tout en conservant son rôle initial pour l’affichage graphique, le GPU est devenu un acteur essentiel du calcul massivement parallèle. Bien que cet article n’ait présenté que l’évolution des GPU haut de gamme, ceux-ci sont aussi présents dans les systèmes mobiles, où la performance énergétique est primordiale.
Les GPU exploitent le parallélisme de données à grain fin que l’on peut exploiter dans une large gamme d’applications : du calcul haute performance aux réseaux de neurones profonds en passant par la génomique. Le modèle d’exécution SIMT leur permet d’avoir un avantage significatif sur les CPU pour le parallélisme de données.
Les GPU présentent aussi des inconvénients. Comme coprocesseurs des CPU pour le calcul généraliste, ils ont un modèle de programmation différent. Ils doivent être connectés au CPU hôte. Cependant, ces inconvénients ont tendance à diminuer. Les interfaces de programmation évoluent pour s’adapter d’un côté aux contraintes architecturales toujours plus nombreuses et de l’autre à une plus grande souplesse de programmation. La liaison CPU-GPU s’améliore, non seulement par l’amélioration des performances du bus PCIe, mais surtout avec le développement de l’approche « mémoire commune » qui simplifie les communications entre les deux types de processeurs. L’interconnexion de clusters de GPU devient également plus performante.
Notons que le développement d’applications à fort potentiel économique (réseaux de neurones, minage…) a permis à de nouveaux challengers de voir le jour qui détrôneront peut-être demain les GPU. Citons, par exemple, les Vision Processing Unit (VPU) développé par Verisilicon, les P5, P6 développés par Cadence, les Tensor Processing...
TEST DE VALIDATION ET CERTIFICATION CerT.I. :
Cet article vous permet de préparer une certification CerT.I.
Le test de validation des connaissances pour obtenir cette certification de Techniques de l’Ingénieur est disponible dans le module CerT.I.
de Techniques de l’Ingénieur ! Acheter le module
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(238 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Remarques pour conclure
BIBLIOGRAPHIE
-
(1) - LINDHOLM (E.), NICKOLLS (J.), OBERMAN (S.), MONTRYM (J.) - « Nvidia Tesla : A unified graphics And Computing architecture », - IEEE Micro, pp 40-55, March-April 2008.
-
(2) - NVIDIA - GeForce 8800 GPU Architecture Overview - (2006) http://www.nvidia.com/object/IO_37100.html
-
(3) - NVIDIA - NVIDIA’s Next Generation CUDA Compute Architecture : Fermi - (2009), http://www.nvidia.com/content/PDF/fermi_white_papers/NVIDIA_Fermi_Compute_Architecture_Whitepaper.pdf
-
(4) - NVIDIA - NVIDIA’s Next Generation CUDA Compute Architecture : Kepler - GK110 https://www.nvidia.com/content/PDF/kepler/NVIDIA-Kepler-GK110-Architecture-Whitepaper.pdf
-
(5) - NVIDIA - NVIDIA Tesla V100 GPU Architecture, - http://images.nvidia.com/content/volta-architecture/pdf/volta-architecture-whitepaper.pdf
-
...
DANS NOS BASES DOCUMENTAIRES
NORMES
-
Floating Point Converter - IEEE754 - 2008
ANNEXES
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(238 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
QUIZ ET TEST DE VALIDATION PRÉSENTS DANS CET ARTICLE
1/ Quiz d'entraînement
Entraînez vous autant que vous le voulez avec les quiz d'entraînement.
2/ Test de validation
Lorsque vous êtes prêt, vous passez le test de validation. Vous avez deux passages possibles dans un laps de temps de 30 jours.
Entre les deux essais, vous pouvez consulter l’article et réutiliser les quiz d'entraînement pour progresser. L’attestation vous est délivrée pour un score minimum de 70 %.
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(238 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive