Preview : Le Quad SLI en pratique
Publié le 01/05/2006 par Damien Triolet et Marc Prieur
Les 7900 GX2 : Un avant goût du Quad SLIC’est lors du CES de Las Vegas que Nvidia a parlé pour la première fois de Quad SLI. Basé sur des GeForce 7800 GTX, cette solution était réservée uniquement à Dell et fût rapidement remplacée au CeBIT en mars par une autre à base de GeForce 7900, l’exclusivité de Dell sautant au passage.
D’un point de vue hardware, le Quad SLI est basé sur deux cartes 7900 GX à double PCB, chaque PCB accueillant un GeForce 7900 et 512 Mo de GDDR3. Les interconnexions entre GPU sont multiples, chaque 7900 étant doté de deux ports SLI. Ainsi, si les deux GPU d’une même carte sont interconnectés en SLI, ces GPU sont également connectés à un GPU de la seconde carte (GPU 1 de la carte 1 avec GPU 1 de la carte 2, GPU 2 avec GPU 2).
Au niveau du PCI Express, chaque carte bi GPU est dotée d’un switch PCI Express x48 qui est relié aux deux GPU et à la carte mère : ceci permet aux deux GPU de communiquer directement via le PCI Express également, sans passer par la carte mère.
Les fréquences utilisées sont de 500 MHz pour le 7900, et 600 MHz pour la GDDR3. On est donc forcément bien en dessous des 650/800 MHz de 7900 GTX, alors qu’un 7900 GT est pour sa part à 450/660.
Il faut noter que Nvidia devrait annoncer début mai de nouvelles cartes bi-GPU destinées au Quad SLI, les 7950 GX2. De 31cm de longueur sur les 7900 GX2, on passera à 22.5cm soit la même taille qu’une 7900 GTX. De plus, selon les rumeurs, chaque 7950 GX2 serait vue comme une seule carte par le système, ce qui permettrait au-delà du Quad SLI de disposer à priori sur n’importe quel port PCI Express x16 (quel que soit le chipset) de la puissance de deux G71.
FonctionnementPour rappel, en SLI, 2 modes de rendu sont proposés. Le premier, le SFR (Split Frame Rendering), consiste à couper l’image en 2, chaque GPU s’occupant de traiter une partie. La séparation est déterminée dynamiquement de manière à répartir au mieux la charge entre les 2 GPUs. Le second, l’AFR (Alternate Frame Rendering), consiste simplement à ce que chaque GPU calcule une image sur 2. Dans les 2 cas, le second GPU envoie, via le connecteur SLI, son travail au second qui s’occupe de reformer les images complètes ou de les afficher dans le bon ordre. Chacun de ces modes à des avantages et des inconvénients, parfois l’un est plus performant, parfois l’autre ne peut pas être utilisé sans entraîner de bug graphique, mais en règle général, l’AFR est le mode qui affiche les meilleures performances.
En Quad SLI, on retrouve bien entendu ces 2 modes qui sont en toute logique étendu à 4 GPU. En SFR, l’image est dynamiquement divisée en 4 et en AFR chaque GPU se charge d’une image sur quatre. Tout n’est cependant pas aussi simple qu’il n’y paraît puisque les transferts entre cartes sont plus complexes. Nvidia étant peu bavard à ce niveau, nous ne pouvons pas savoir avec certitude comment les transferts sont effectués. Le premier GPU est raccordé au GPU 2 et 3, mais pas au 4. Pour que ce dernier puisse envoyer sa partie du travail, il doit envoyer les données par le bus PCI Express ou faire transiter ses données par le GPU 2 ou 3. Vu les nombreuses connexions inter-GPU, plusieurs possibilités existent, à Nvidia de trouver la meilleure afin d’obtenir le gain le plus important au niveau des performances tout en évitant tout problème de synchronisation entre les 4 GPUs.
Un troisième mode de rendu fait son apparition : l’AFR de SFR. Les GPU travaillent par paire en SFR sur une image sur 2. Par exemple, les GPU 1 et 2 vont calculer ensemble les images impaires et le GPU 1 va les assembler. Les GPU 3 et 4 vont, eux, calculer les images paires que le GPU 3 va assembler. Du coup, les transferts sont simplifiés et une fois les images calculées, seul le GPU 3 doit communiquer avec le GPU principal. Il s’agit plus que probablement du mode le plus adapté au Quad SLI.
Introduit en septembre dernier, le SLI antialiasing est lui aussi étendu au Quad SLI. Pour rappel, il consiste à ce que chaque GPU calcule la même image mais avec un léger décalage. Les images sont ensuite mélangées ce qui revient à faire de l’antialiasing ou à combiner l’antialiasing de plusieurs images. La première possibilité n’a pas encore été exploitée, mais elle pourrait l’être un jour, par exemple, pour apporter le support de l’antialiasing en mode HDR lorsqu’il n’est pas supporté de manière classique. La seconde possibilité à été utilisée pour combiner 2 images en FSAA 4x de manière à obtenir un FSAA 8x ou 2 images en FSAA 8xS pour obtenir un FSAA 16xS. Le S indique que le FSAA est un mélange de multisampling et de supersampling : en 1024 x 768, en FSAA 8xS, l’image est calculée en MSAA 4x mais en 1024 x 1536 et puis redimensionnée.
FSAA tester permet d’observer le positionnement des samples dans les différents modes d’antialiasing. En rouge nous obtenons la position des samples et en vert la position utilisée pour le calcul de la couleur (et donc des coordonnées des textures). La position des samples influe sur l’antialiasing au niveau de la géométrie puisqu’elle indique si chaque sample se trouve au non dans un triangle donné. Mieux elles sont réparties, mieux seront filtrées les différentes arrêtes. Les points verts représentent un filtrage appliqué à la scène dans sa globalité : textures, objets alpha (grillages etc.), eau etc. l’aliasing est donc corrigé à d’autres niveaux que la géométrie mais en contrepartie certaines parties de l’image peuvent devenir plus floues que ce qu’elles ne devraient être.
AA 4x, AA 8xS, SLI AA 8x, SLI AA 16x
3 nouveaux modes d’antialiasing font leur apparition avec le Quad SLI, des FSAA 8x et 16x légèrement différents et un nouveau mode, le FSAA 32x qui combine pas moins de 4 images calculées en FSAA 8xS !
Quad SLI AA 8x, Quad SLI AA 16x, Quad SLI AA 32x
Nous avons donc affaire à 3 modes de FSAA 8x chez Nvidia. Cependant, aucun d’entre eux n’affiche un positionnement des samples optimal. Contrairement à ATI, Nvidia ne dispose pas d’un moteur de FSAA programmable qui permet de modifier le positionnement de ces samples. Nvidia doit donc se débrouiller avec une version fixe. Dans le cas du mode 8xS, Nvidia double la résolution verticale. En SLI et Quad SLI 8x, un décalage est appliqué à chaque image calculée en MSAA 4x (nous avons donc affaire à de l’AFR de SLI 8x en mode Quad SLI, vous suivez ?), mais ce décalage est différent entre les 2 modes. Comme vous pouvez le voir sur les images, il est plus important en mode SLI qu’en mode Quad SLI. Nvidia semble avoir utilisé la valeur du décalage du mode Quad SLI 16x qui doit forcément être plus réduite de manière à rester dans "la case" ce qui est nécessaire pour ne pas rendre l’image floue. Ce décallage plus réduit signifie que la qualité du FSAA est elle aussi réduite. Il s’agit probablement d’un détail que Nvidia devrait pouvoir corriger puisque rien n’empêche d’utiliser une valeur différent en Quad SLI 8x et 16x.
Le SLI AA 16x est lui aussi différent du Quad SLI AA 16x puisque le premier combine 2 images calculées en 8xS contre 4 images en 4x pour le second. Ici aussi le positionnement des samples est en faveur du SLI AA 16x. Par contre il n’y a à priori pas de solution cette fois pour le Quad SLI à moins de proposer un mode AFR de SLI 16x à base d’image calculée en 8xS. Le Quad SLI 32x occupe plus au moins tout l’espace et affiche donc une bonne qualité. Par contre lorsque l’on y regarde de plus prêt il est évident que la différence par rapport au SLI 16x est réduite puisque le décalage entre les différentes samples est réduit ce qui au final ne devrait pas amener de gain énorme au niveau de la qualité alors qu’il réduira en théorie les performances par 2.
Le positionnement des samples de couleur dans les différents modes de SLI AA ne semble pas idéal pour permettre l´antialiasing des éléments tels que les objets rendus à partir de tests alpha (grillages) ou de pixel shader (vagues). Seuls les modes rendus à partir de combinaisons d´AA 8xS devraient en être capables, mais sans offrir une très grande qualité à ce niveau.
Le SLI antialiasing est fortement mis en avant par Nvidia avec le Quad SLI puisqu’il s’agit du mode le plus simple à mettre en place. Chaque GPU calcule une image entière et au final une seule image est composée : autrement pas de synchronisation complexe à gérer. Qu’en est-il du transfert des images ? Lui aussi il est plus simple quand dans les modes de rendu classique. Par exemple, dans le cas du Quad SLI 32x, le GPU 4 envoie son image au GPU 3 qui la mélange avec la sienne puis envoie le résultat au GPU 2 qui y mélange son image puis envoie le résultat au GPU 1 qui y mélange également son image et affiche ensuite le résultat final. Chaque GPU ne communique donc qu’avec un seul autre et ne prend en charge qu’un seul mélange. Tout aurait été bien plus complexe à gérer et moins performant si tous les GPU envoyaient leur image au GPU 1 qui se serait alors chargé de mélanger les 4 ensembles.
Historique, 4 GPU : quelle utilité ?
En pratique, les performances
Sommaire
Vos réactions
Contenus relatifs
- [+] 04/05: Nvidia abandonne son GeForce Partne...
- [+] 27/04: AMD Vega 7nm en labo, Zen 2 échanti...
- [+] 18/04: ASUS AREZ, l'effet GeForce Partner ...
- [+] 10/04: Nvidia : fin du support Fermi et 32...
- [+] 27/03: Pilotes Radeon et GeForce pour Far ...
- [+] 20/03: Pilotes GeForce 391.24 pour Sea of ...
- [+] 20/03: Microsoft annonce DirectX Raytracin...
- [+] 20/03: Radeon Software 18.3.3 beta avec Vu...
- [+] 08/03: 3 millions de GPU vendus pour le mi...
- [+] 08/03: Radeon Software 18.3.1 optimisé pou...