Février 2006 | ||||||
---|---|---|---|---|---|---|
L | M | M | J | V | S | D |
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 |
Vraies fausses photos de la 7900 GT
La nouvelle a déjà fait le tour du web, ou presque : DailyTech a publié les premières photos de la future GeForce 7900 GT.
Seul problème, si l’on y regarde de plus près, quelque chose cloche. Le GPU est bien trop petit pour être un 7900, et il n’est d’ailleurs pas assez grand pour occulter tous les points de soudure destinés au GPU présent sur le PCB de la carte. En fait, la puce est strictement la même que celle présentée par VR-Zone il y’a quelques jours pour être une 7600.
Il s’agit donc tout au plus d’une photo d’un PCB de 7900 GT surplombé d’un 7600. On attend tous avec impatience les premières photos de la mémoire du G80 ...
Le G80 supportera les shaders unifiés
DirectX 10, qui devrait arriver avec Windows Vista, introduira son lot de nouveautés. Un nouveau type de shaders fera son apparition, les geometry shaders, qui travailleront sur des primitives (points, lignes ou triangles) et pourront en créer de nouvelles. Les geometry shader agiront sur des données fournies par les vertex shader, et la première utilité que l'on pourrait leur trouver serait de servir d'unité de tesselation pour augmenter les détails géométriques (TruForm, Displacement Mapping etc.). Cependant, il ne s'agit là que d'une petite partie de leur utilité, qui, qui plus est, ne devrait pas être utilisée au départ par manque de performances. On parle plutôt d'amélioration des systèmes de particules (avec la possibilité évidente d'ajouter des particules), d'effets de type fourrure, d'optimisations des rendus dans un cubemap et de calcul de données par primitive qui vont aider le pixel shader à gagner en efficacité. En bref il est probable que la première utilisation de ces geometry shader soit plus abstraite que concrète comme l'est la tesselation.
Revenons-en au G80 et à la discussion sur les shaders unifiés. Avec DirectX 10 et les Shaders 4.0, les vertex shader, geometry shader et pixel shader utiliseront un jeu d'instructions unifié qui disposera des mêmes caractéristiques, ce qui n'était pas le cas auparavant. Le G80, pour supporter DX10 devra donc obligatoirement supporter ces Shader 4.0 unifiés (nombre d'instruction illimité, support complet des entiers en plus des flottants, support des opérateurs logiques etc.). La manière d'implémenter ces Shaders 4.0 en hardware reste cependant à l'entière discrétion du concepteur du GPU qui peut soit placer des unités séparées pour le traitement des vertices puis des primitives puis des pixels, soit un seul type d'unités capables de traiter le tout, soit une unité mixte vertices/primitives et une unité pour les pixels etc. DX10 impose l'unification au niveau du modèle de programmation, ce qui fait apparaître des opportunités de le faire également au niveau du matériel, mais uniquement si le fabricant le juge utile.
Dans un GPU, les pipelines de pixel shading ou unités de pixel shading est ce qu'il y a de plus complexe puisque celles-ci sont optimisées pour masquer la latence de l'accès aux textures. Les autres unités, ne le sont pas et sont donc bien plus simples. Avec les Shaders 4.0, les unités de vertex shader et de geometry shader ont d'ailleurs certaines limitations au niveau de l'accès aux textures puisque le LOD ne peut pas être calculé automatiquement. Les geometry shader disposent eux de quelques instructions supplémentaires destinées à la création de primitives. Il y a donc de légères différences mais surtout, il y a des impératifs de performances différents. Une unité de traitement performante des vertex shaders ne se conçoit pas de la même manière qu'une unité de traitement performante de pixel shaders.
Unifier au niveau des unités de calcul a l'avantage de permettre de maximiser l'utilisation de chaque unité puisque si les vertex shaders sont simples alors que les pixel shaders sont complexes, les premiers vont se tourner les pouces. En contrepartie, cela demande un système de gestion complexe. Admettons que ce système de gestion représente plus de transistors que l'ajout d'unités dédiées aux vertex shaders en plus de celles supposées unifiées mais limitées aux pixel shaders. Soit que x unités unifiées et leur système de gestion représente plus de transistors que x unités de pixel shaders et y unités de vertex shader. Quel serait ici l'intérêt de l'unification ? C'est la question qu'on dû se poser les fabricants de processeurs graphiques, par rapport à leur architecture et en prenant en compte l'ajout des geometry shaders. Dans certains cas, l'unification pourra être intéressante alors que dans d'autres ce ne sera pas le cas, mais pour l'utilisateur final ce choix ne fera pas de différence.