0% ont trouvé ce document utile (0 vote)
39 vues15 pages

3 ProcesseursGraphiques

Le document traite des processeurs graphiques (GPU) et de leur rôle dans le traitement graphique, en soulignant leur structure parallèle qui libère le processeur central des tâches d'affichage. Il aborde également les types de mémoire graphique, les processeurs graphiques intégrés (IGP) et les cartes graphiques dédiées, ainsi que les langages de programmation associés comme CUDA pour exploiter les capacités des GPU. Enfin, il explique comment CUDA permet d'exécuter des applications en parallèle sur le GPU, en utilisant des Kernels et des blocs de threads.

Transféré par

ramzi akkari
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
39 vues15 pages

3 ProcesseursGraphiques

Le document traite des processeurs graphiques (GPU) et de leur rôle dans le traitement graphique, en soulignant leur structure parallèle qui libère le processeur central des tâches d'affichage. Il aborde également les types de mémoire graphique, les processeurs graphiques intégrés (IGP) et les cartes graphiques dédiées, ainsi que les langages de programmation associés comme CUDA pour exploiter les capacités des GPU. Enfin, il explique comment CUDA permet d'exécuter des applications en parallèle sur le GPU, en utilisant des Kernels et des blocs de threads.

Transféré par

ramzi akkari
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Architectures Parallèles

Processeurs Graphiques

Préparé par

Dr. Olfa Hamdi-Larbi


ola_ola79@[Link]
• GPU ou processeur graphique «Graphics Processing Unit »
circuit intégré présent sur une carte graphique et assurant les
fonctions de calcul de l'affichage.

• processeur graphique : structure hautement parallèle


⇒ efficace pour une large palette de tâches graphiques : gestion
de la mémoire vidéo, traitement du signal vidéo,….

• processeur graphique (GPU ou encore VPU pour Visual


Processing Unit) : libérer le micro-processeur de la carte mère en
prenant en charge les calculs spécifiques à l’affichage et la
coordination de graphismes 3D
•Cette division des tâches entre les deux processeurs libère le
processeur central de l’ordinateur et en augmente d’autant la
puissance apparente.

•Le processeur graphique est très souvent muni de son propre


radiateur ou ventilateur pour évacuer la chaleur qu’il produit.
carte graphique

ou encore un adaptateur graphique, est une carte


d’extension d’ordinateur dont le rôle est de produire
une image affichable sur un écran.

La carte graphique envoie à l’écran des images


stockées dans sa mémoire.
• Peu d’entreprises conçoivent de tels processeurs : NVIDIA,
ATI/AMD, Intel, S3 Graphics.

• Les deux principaux acteurs du marché AMD (ex ATI) et


NVIDIA proposent de multiplier la puissance de traitement par
des technologies permettant d’utiliser plusieurs cartes
graphiques sur un seul ordinateur.

• Le gain est évident : la puissance est réellement augmentée


dans de grandes proportions
la mémoire graphique est presque aussi importante que le GPU.

mémoire dans laquelle les données géométriques comme


colorimétriques sont stockées et mises à disposition du processeur
graphique.

joue un rôle proche de celui de la RAM pour un processeur


d’ordinateur.

vitesse de fonctionnement et taille sont autant de critères qui


peuvent lourdement influer sur les performances d’une carte
graphique.
On distingue deux grandes familles de mémoires graphiques :
La mémoire partagée : la solution la plus souvent retenue par
les configurations économiques ou orientées vers la bureautique
pure.
⇒ principe simple : une partie de la mémoire centrale de
l’ordinateur RAM est réservée aux stockages destinés au
processeur graphique.
La mémoire dédiée: le plus souvent embarquée sur la carte
graphique dédiée (ou à proximité du GPU dans le cas d’un
ordinateur portable)
⇒ce qui lui permet de bénéficier d’un bus dédié (voie de
communication) à la communication avec le processeur
graphique.
Processeur graphique intégré (IGP)
processeurs graphiques intégrés dans le northbridge sur la carte
mère de l’ordinateur ou directement au processeur central
utilisent la mémoire vive du processeur ou plus rarement une
faible quantité de mémoire dédiée.
Ils sont moins performants que ceux des cartes graphiques
dédiées,
ils sont moins couteux,
plus facile a intégrer
moins consommateurs en énergie.
Exemple:
• Les ordinateurs portables anciens et/ou bas de gamme utilisent cette
méthode afin de réduire les coûts.
• Les IGP suffisent si le matériel n'est pas sollicité par les jeux modernes.
• Les cartes mères actuelles ont souvent un processeur graphique intégré
et un (ou plusieurs) port permettant d’ajouter une carte graphique
dédiée.
• Carte graphique dédiée
Processeur graphique le plus puissant.
Le processeur est situé sur une carte interfacée avec la carte mère de
l’ordinateur.
Les cartes disposent de leur propre Mémoire vive.
• GPU consacre plus de transistors aux
unités arithmétiques et logiques et
moins de caches par rapport aux CPU.

• GPU ont aussi généralement une bande


passante mémoire plus élevée par rapport aux CPU.
Les parties séquentielles sont traitées par le CPU, alors que le
GPU gère et accélère les tâches de calcul les plus intensives
langages de programmation graphique : OpenGL et Cg
⇒programmer les applications scientifiques à la manière des
applications graphiques
⇒limiter l’accessibilité aux performances des GPU pour les
applications non graphiques

⇒ Nvidia propose un langage et un logiciel de haut niveau


appelé Compute Unified Device Architecture (CUDA)

⇒ exploiter les capacités du calcul des GPUs en se basant sur


le principe de programmation parallèle en utilisant des
threads
CUDA est un API considéré comme une
extension du langage C

CUDA logiciel composé de trois modules :


• une interface pour l’application des
programmations ‘API’,

• un runtime qui joue le rôle


intermédiaire entre l’utilisateur et le
driver

• une librairie pour les outils


mathématiques.
- CUDA exécute les parties parallèles de l’application
sur le GPU en tant que « Kernels »

- CUDA intègre des programmes CPU + GPU :


- Kernel : code C qui s’execute sur le GPU
- Serial : code C qui s’execute sur le CPU
- Kernels s’executent en tant que threads
parallèles
• CUDA exécute une séquence de Kernels sur
le GPU

• Un Kernel s’exécute comme une grille de


blocs de threads

• Un bloc de threads est une liste de


threads qui peuvent coopérer

• Les threads dans le même bloc se


synchronisent et partagent les données dans
la mémoire partagée (SM : Shared Memory)

• CUDA exécute les blocs de threads comme


des CTA (Concurrent Thread Array) sur les
cœurs SM

Vous aimerez peut-être aussi