« Les cartes graphiques/Les processeurs de shaders » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 128 :
===Hiérarchie mémoire===
 
La hiérarchie mémoire des GPUs est assez particulière, que ce soit au niveau des caches ou de la mémoire, parfois des registres. On y trouve souvent des caches dédiés aux textures ou aux vertices, et les GPUs récents contiennent aussi des caches L1 et L2 de faible taille. Plus rarement, on trouve des local store (scratchpad memory), des mémoires RAM intermédiaires entre la RAM principale et les caches/registres.
 
[[File:Memory.svg|centre|500px|Memory]]
 
====ProcesseursdeLes fluxLocal Store====
 
En plus d'utiliser des caches, les processeurs de flux utilisent des local stores, des mémoires RAM intermédiaires entre la RAM principale et les caches/registres. Typiquement, chaque processeur de flux possède sa propre mémoire locale. Ces local stores peuvent être vus comme des caches, mais que le programmeur doit gérer manuellement. La faible capacité de ces mémoires, tout du moins comparé à la grande taille de la mémoire vidéo, les rend utile pour stocker temporairement des résultats de calcul "peu imposants". L'utilité principale est donc de réduire le trafic avec la mémoire centrale, les écritures de résultats temporaires étant redirigés vers les local stores.
 
[[File:Cuda5.png|centre|Cuda5]]
 
====Processeurs de flux====
 
Beaucoup de processeurs graphiques actuels sont des '''processeurs de flux''', aussi appelés ''stream processors''. Ce sont des processeurs SIMD qui utilisent une hiérarchie de registres. Voici à quoi ressemble l'architecture d'un Stream Processor :