Nvidia GeForce GTX Titan X 12 Go et GM200 en test: big Maxwell débarque !

Publié le 17/03/2015 (Mise à jour le 02/04/2015) par
Imprimer
GM200 : 8 milliards de transistors
Pour sa dernière architecture en date, nom de code Maxwell, Nvidia a poursuivi l'effort entrepris lors du passage de Fermi vers Kepler pour une meilleure efficacité énergétique. C'était d'autant plus nécessaire que le procédé de fabrication n'évolue pas. Que ce soit pour les GPU Maxwell de première génération, ou de seconde génération, et même pour l'énorme GM200 qui est introduit aujourd'hui, Nvidia fait appel à la même variante du 28 nanomètres de TSMC (HP) que pour l'ensemble des GPU de la génération Kepler précédente.

Pour rappel, voici la liste des GPU conçus par Nvidia en 28 nanomètres :

GM200 : 8.0 milliards de transistors pour 601 mm²
GK210 : ???
GK110 : 7.1 milliards de transistors pour 551 mm²
GM204 : 5.2 milliards de transistors pour 398 mm²
GK104 : 3.5 milliards de transistors pour 294 mm²
GM206 : 2.9 milliards de transistors pour 228 mm²
GK106 : 2.5 milliards de transistors pour 214 mm²
GM107 : 1.9 milliards de transistors pour 148 mm²
GK107 : 1.3 milliards de transistors pour 118 mm²
GM108 : ~1.1 milliards de transistors pour 83 mm²
GK208 : 1.0 milliards de transistors pour 79 mm²


Le GM200 de Nvidia.

Un petit calcul rapide montre que les GPU les plus récents de Nvidia, dont le GM200, affichent une densité de transistors un peu plus élevée que celle de ses premières puces fabriquées en 28 nm, notamment le GK104. Ceci peut s'expliquer par une petite évolution des règles de design et par un effort d'optimisation plus poussé mais aussi par la proportion de mémoire SRAM (plus dense que les autres circuits) qui peut être plus élevée.

Le GM200 est à peu près 10% plus gros que le GK110 qu'il remplace, mais le changement d'architecture et l'abandon du mode hautes performances pour le calcul en double précision va permettre à Nvidia d'augmenter sensiblement le nombre de blocs d'unités de calcul et de ROP.

A noter que le nombre de 8 milliards de transistors pour le GM200 semble un petit peu élevé par rapport à ce que nous en savons. La comparaison avec le GM206 et le GM204 aurait plutôt laissé penser à une puce de 7.5 milliards de transistors. Nvidia n'a pas voulu commenter cette observation et nous ne savons pas d'où vient cette inflation de la complexité de la puce. Il est par exemple possible que certaines fonctionnalités spécifiques au monde professionnel aient été intégrées ou que plus de redondance ait été prévue par Nvidia sur cette énorme puce.


GM204 x 1.5
Pour rappel, alors que les GPU Kepler reposaient sur des blocs fondamentaux appelés SMX (Streaming Multiprocessor), qui contiennent unités de calcul et autres unités de texturing, ceux-ci sont appelés SMM dans le cas de la génération Maxwell. Ils ont subi un régime assez drastique afin de les simplifier suffisamment pour pouvoir en augmenter significativement le nombre.

Tout comme les SMX, les SMM sont organisés en petits groupes, appelés GPC (Graphics Processing Cluster). Chaque GPC inclus un moteur de rastérisation qui reçoit les triangles traités par les SMX/SMM, les découpes en pixels avec lesquels il forme de petits groupes qui sont renvoyés vers les SMX/SMM en vue de leur calcul. Voici une représentation visuelle du GM200 (notez que la représentation miniature des SMM est basée sur la version officielle qui n'est pas tout à fait correcte, pour plus d'informations à leur sujet c'est par ici) :


Voici pour comparaisons les spécificités de tous les GPU 28 nm de la marque :

GM200 : 6 GPC, 24 SMM, 96 ROP, bus 384-bit, 3072 Ko de L2
GK210 : 5 GPC, 15 SMX, 48 ROP, bus 384-bit, 1536 Ko de L2
GK110 : 5 GPC, 15 SMX, 48 ROP, bus 384-bit, 1536 Ko de L2
GM204 : 4 GPC, 16 SMM, 64 ROP, bus 256-bit, 2048 Ko de L2
GK104 : 4 GPC, 8 SMX, 32 ROP, bus 256-bit, 512 Ko de L2
GM206 : 2 GPC, 8 SMM, 32 ROP, bus 128-bit, 1024 Ko de L2
GK106 : 3 GPC, 5 SMX, 24 ROP, bus 192-bit, 384 Ko de L2
GM107 : 1 GPC, 5 SMM, 16 ROP, bus 128-bit, 2048 Ko de L2
GK107 : 1 GPC, 2 SMX, 16 ROP, bus 128-bit, 256 Ko de L2
GM108 : 1 GPC, 3 SMM, 8 ROP, bus 64-bit, 1024 Ko de L2
GK208 : 1 GPC, 2 SMX, 8 ROP, bus 64-bit, 512 Ko de L2

Alors que le GM107 était passé à 1 Mo de L2 par contrôleur mémoire de 64-bit, les GM20x s'en contentent de 512 Ko, soit 3 Mo au total dans le cas du GM200. Par contre, Nvidia est passé de 8 à 16 ROP par contrôleur mémoire, de quoi booster largement le fillrate, ce qui profite notamment aux plus hautes résolutions.

Pour éviter d'être trop limité par le bus mémoire relativement étroit des GM20x, et la bande passante qui y est liée, Nvidia a amélioré quelque peu ses techniques de compressions sans perte du framebuffer. Plus spécifiquement, c'est le codage différentiel pour les couleurs, également appelé compression delta, qui progresse, exactement comme l'a fait AMD avec Tonga.

Le principe de base consiste à ne pas enregistrer directement la couleur mais sa différence par rapport à une autre qui fait office de repère. Ce n'est bien entendu utile que quand l'écart entre deux couleurs est suffisamment faible, de manière à ce que cette information représente moins de bits que la couleur en elle-même. Ce type d'approche est exploitée depuis plusieurs générations de GPU mais les nouvelles puces Maxwell profitent d'un algorithme plus flexible, capable de profiter de cette compression dans plus de cas.

Avec la seconde génération Maxwell, Nvidia a eu un petit peu plus de temps pour implémenter de nouvelles fonctionnalités. Le GM200 est sur ce point totalement identique au GM204.

Elles s'articulent principalement autour de la mise à jour des moteurs de rastérisation, ces unités chargées de la découpe des triangles en pixels. Une limitation à leur niveau (absence de support de la fonction Target Independant Rasterization) empêchait jusqu'ici Nvidia de supporter le niveau de fonctionnalité matériel 11_1 de Direct3D bien que la plupart de ses autres spécificités soient bien supportées sur les GPU Kepler et Maxwell de première génération.

Nvidia n'a pas simplement ajouté ce qui manquait au support du niveau 11_1 mais a fait en sorte de faire le maximum pour s'assurer du support du niveau 12_1. Celui-ci sera supporté par Direct3D 12 ainsi que par Direct3D 11.3 qui apportera l'équivalent sur l'API classique de Microsoft, tous les développeurs n'étant pas prêts à migrer vers la nouvelle API de bas niveau.

Tant qu'à modifier les moteurs de rastérisation sur plusieurs points, Nvidia en a profité pour améliorer leur flexibilité par rapport aux grilles d'échantillonnage utilisées avec l'antialiasing. Elles sont dorénavant capables de faire varier la position des samples d'une image à l'autre et/ou d'utiliser une grille multi-pixels. Cette seconde possibilité permet de répartir différemment les samples d'un pixel à l'autre pour éviter un schéma uniforme moins efficace.


Faire varier la position des samples, c'est déjà ce que faisais ATI et AMD avec le Temporal AA. Et c'est ce que va faire Nvidia avec le MFAA dont le support concerne la majorité des jeux DirectX 10/11 avec les derniers pilotes. Pour rappel, Nvidia ne s'est pas contenté de recopier ce principe d'ATI, mais y a ajouté un filtre plus avancé qui combine downsampling et composante temporale basée sur l'image précédente. De quoi se rapprocher du résultat d'un MSAA 4x avec seulement deux samples par pixel et un surcoût modéré pour le filtre qui permet au final au très bon compromis entre performances et qualité visuelle. Vous pourrez retrouver plus d'informations à ce sujet par ici


Pas de décodage H.265
Avec les GM20x, Nvidia est passé au HDMI 2.0, qui apporte une hausse notable de bande passante afin de pouvoir gérer à l'instar du DisplayPort 1.2 les écrans 4K et 5K à 60 Hz sans avoir recours à un sous échantillonnage des informations de couleurs comme c'est le cas pour la 4K en HDMI 1.4a. A noter que chacun des 4 contrôleurs d'affichage est capable de gérer plusieurs flux MST de même résolution, ce qui permet par exemple d'utiliser un seul contrôleur pour adresser en DisplayPort un écran 4K "tiled" composé de deux dalles. Cela permet de gérer jusqu'à 4 écrans de ce type, à condition de disposer de 4 sorties DisplayPort (en pratique les fabricants en intègrent jusqu'à 3 à ce jour), contre 2 sur les cartes Nvidia précédentes.


Alors que le GM206 de la GTX 960 qui a été lancé fin janvier apportait quelques nouveautés sur le plan vidéo, celles-ci ne se retrouvent pas dans le GM200, qui a en fait été finalisé plus ou moins en même temps que le GM204 dont il partage les spécificités à ce niveau.

Seul le GM206 est ainsi capable de prendre en charge complètement le décodage H.265 (HEVC) ainsi que le pilotage de 4 écrans 5K en MST. Comme le GM204, le GM200 reste limité à 2 écrans en 5K, chacun de ses 4 contrôleurs étant limité à la 4K dans le mode MST.
Vos réactions

Top articles