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

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