11Fermer13
PpHdLe 13/02/2012 à 08:50
Azrael_CV (./11) :
Là je ne sais quoi te répondre. Est-ce que la Local Memory doit être gérée comme une sorte de cache ou bien comme une éventuelle extension de mémoire ? pour ma part je gérerais cette mémoire comme une sorte de cache qui a beaucoup moins de latence que la Global Memory.


Dans ce cas, qui assure la cohérence de ce cache ? Il n'y a rien dans le matériel qui assure cette cohérence : c'est à faire en "soft" à la main, et je ne suis pas sûr que ca soit possible avec les GPU actuels.
(Sans parler qu'il y a 2 global memory : la RAM du CPU et la RAM du GPU).
Bref j'attends de voir.
Azrael_CV (./11) :
Le modèle mémoire du C est certes simple, mais quand tu regardes le proc sur lequel il s'exécute il y a entre 1 et 3 niveaux de cache.


Certes, mais il y a beaucoup de transistors dans le CPU pour assurer cette cohérence et tout accès passe par cette seule unité
(Tu oublies la RAM, le disque dur et potentiellement aussi le réseau wink)

On aura peut être (surement ?) des systèmes de contrôles / cohérence de cache avec les GPU du futur (comme si c'était un autre CPU).
Ca me semble indispensable si on veut avoir une mémoire unifiée GPU+CPU.
Ou alors, c'est à faire à la main, et ca va être difficile (il me semble) et couteux.