« Fonctionnement d'un ordinateur/Les architectures à parallélisme de données » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 228 :
====Les caches sur une carte graphique====
 
Déjà, en théorie, les processeurs de shaders contiennent peu de mémoires caches pour les données, comme pour les processeurs vectoriels. Il faut dire que les processeurs de shaders sont, comme les processeurs vectoriels, conçus pour manipuler des tableaux de données, qui ont une faible localité temporelle : quand on accède à une donnée dans un tableau, il est rare qu'on doive la réutiliser plus tard. Dans ces conditions, utiliser des mémoires caches est contre-productif. Au lieu de chercher à diminuer la latence avec des caches, les processeurs de shaders vont plutôt chercher à masquer cette dernière avec du multithreading matériel.

: Dans les faits, les cartes graphiques récentes disposent de plus en plus de mémoires caches pour les données, mais celles-ci ne sont pas utilisées pour le rendu 3D, mais pour les applications à hautes performance comme pour des calculs d'intelligence artificielle, les calculs scientifiques fortement parallèles et autres.
 
Mais attention : si les processeurs de shaders se passent souvent de mémoire cache pour les données, ils ont presque systématiquement un cache d'instructions. Après tout, si l'on doit exécuter ces instructions plusieurs fois de suite sur des données différentes, autant éviter de les charger de la mémoire à chaque fois. Pour éviter cela, les suites d'instructions à exécuter sont stockées dans une petite mémoire une bonne fois pour toutes. Il s'agit bel et bien d'une petite mémoire cache.