Un cell est simplement un dsp flottant qui exécutent 2 instructions en même temps, sur des registres SIMD. La particularité est de ne pas avoir de cache mais d'utiliser uniquement de la mémoire locale. C'est très rapide, mais très chiant à utiliser. Il faut utiliser un gros DMA pour transférer la mémoire depuis et vers la DRAM externe. Il serait sans doute possible d'automatiser tout cela avec un compilo opencl, mais je ne crois pas que cela existe.
Par rapport au GPU, il n'y a pas d'absence de cohérence de mémoire, il n'y a pas d'accès mémoires complexe, ni de lecture de type de données compliqué (genre éclater un vecteur RGB, ou une texture compressé).
Concernant la cohérence de cache, je ne pense pas que cela soit gros, mais cela fait perdre des cyclee d'horloge sur les accès.
[^] # Re: mouais
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Rendu 3D logiciel. Évalué à 2.
Un cell est simplement un dsp flottant qui exécutent 2 instructions en même temps, sur des registres SIMD. La particularité est de ne pas avoir de cache mais d'utiliser uniquement de la mémoire locale. C'est très rapide, mais très chiant à utiliser. Il faut utiliser un gros DMA pour transférer la mémoire depuis et vers la DRAM externe. Il serait sans doute possible d'automatiser tout cela avec un compilo opencl, mais je ne crois pas que cela existe.
Par rapport au GPU, il n'y a pas d'absence de cohérence de mémoire, il n'y a pas d'accès mémoires complexe, ni de lecture de type de données compliqué (genre éclater un vecteur RGB, ou une texture compressé).
Concernant la cohérence de cache, je ne pense pas que cela soit gros, mais cela fait perdre des cyclee d'horloge sur les accès.
"La première sécurité est la liberté"