Présentation

Article interactif

1 - HISTORIQUE : DES CARTES GRAPHIQUES 3D AU PROCESSEUR GRAPHIQUE

2 - FONCTIONNEMENT GÉNÉRAL D’UN GPU

3 - ÉVOLUTIONS LOGICIELLES

4 - ÉVOLUTIONS MATÉRIELLES

5 - ÉVOLUTIONS DES MÉMOIRES

6 - ÉVOLUTIONS DU PARALLÉLISME

  • 6.1 - Ordonnanceurs
  • 6.2 - Synchronisation

7 - REMARQUES POUR CONCLURE

Article de référence | Réf : H1013 v1

Fonctionnement général d’un GPU
Processeurs graphiques totalement programmables (GPU)

Auteur(s) : Daniel ETIEMBLE, David DEFOUR

Relu et validé le 05 janv. 2021

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

Présentation

Version en anglais En anglais

RÉ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’article

ABSTRACT

Fully programmable graphics processors (GPU)

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.

Cet article est réservé aux abonnés.
Il vous reste 95% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

MOTS-CLÉS

CPU GPU CUDA NVIDIA

KEYWORDS

CPU   |   GPU   |   CUDA   |   NVIDIA

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h1013


Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 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

ABONNEZ-VOUS

Lecture en cours
Présentation
Version en anglais En anglais

2. Fonctionnement général d’un GPU

2.1 Principe

Comme leur nom l’indique, les GPU sont d’abord destinés à l’exécution du pipeline graphique. Cela implique le traitement simultané d’un grand nombre de sommets et d’un plus grand nombre encore de pixels. Par exemple, le rendu en temps réel nécessite le traitement de milliards de pixels par seconde. Cela implique un parallélisme de données massif, de type grain fin, avec le plus souvent le même traitement sur chaque pixel. Cela conduit à un modèle d’exécution fondamentalement différent du modèle des processeurs généralistes (CPU). La figure 6 présente la différence entre les deux modèles :

  • le CPU est conçu pour des applications complexes, avec une logique de contrôle importante, un nombre réduit d’opérateurs de calcul (même étendus avec les extensions SIMD), une hiérarchie de gros caches (L1, L2, L3…), des latences d’instructions faibles. Même si le passage du monoprocesseur aux multicœurs a augmenté le parallélisme de threads possible, celui-ci reste limité. Le lecteur intéressé trouvera un large traitement des CPU dans les articles de Techniques de l’Ingénieur listés dans Pour en savoir plus ;

  • le GPU est conçu pour un parallélisme massif avec un très grand nombre d’opérateurs de calcul. Il y a beaucoup de calculs par accès mémoire. Les pipelines ont un très grand nombre d’étages (centaines). Les latences sont importantes. Il y a un très grand débit d’exécution.

La différence de modèle se traduit par une différence de modèle de programmation, avec CUDA ou OpenCL pour les GPU.

Le traitement graphique implique un grand nombre d’opéra7tions sur des vecteurs ou des matrices, ce qui explique pourquoi les GPU ont été utilisés pour le calcul intensif (GPGPU pour General-Purpose Processing on Graphics Processing Units) avant même l’arrivée des architectures unifiées. Les opérations classiques du calcul scientifique étant également celles que l’on retrouve dans les réseaux de neurones profonds (DNN) éventuellement avec des précisions moindres, le domaine d’utilisation des GPU s’est étendu à l’intelligence artificielle dans la dernière période.

Les GPU ayant un beaucoup plus grand nombre de cœurs que les CPU, même si les cœurs GPU sont plus simples, il est clair que...

Cet article est réservé aux abonnés.
Il vous reste 93% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

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.

Obtenez CerT.I., la certification
de Techniques de l’Ingénieur !
Acheter le module

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 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

ABONNEZ-VOUS

Lecture en cours
Fonctionnement général d’un GPU
Sommaire
Sommaire

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

  • ...

NORMES

  • Floating Point Converter - IEEE754 - 2008

Cet article est réservé aux abonnés.
Il vous reste 92% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 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

ABONNEZ-VOUS

Sommaire

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 %.


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 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

ABONNEZ-VOUS