Hardware mag 46

Page 56

Dossier

4 - La carte graphique 2, puis 3, puis 4 !

D

epuis l’arrivée de la 3D dans les jeux au milieu des années 90, la carte graphique a rapidement joué un rôle de premier ordre dans nos PC. Bien que la puissance des GPU et la vitesse de la RAM aient littéralement explosé au fil des années, les constructeurs ont rapidement songé à l’idée de cumuler la puissance de deux processeurs graphiques, à l’image des PC biCPU. Le premier à avoir proposé une solution de ce type fut la défunte marque 3Dfx, en 1998. Il était possible de coupler deux cartes Voodoo 2 et de bénéficier d’une accélération 3D dans une plus grande résolution. Quelques mois plus tard, ATi a sorti la Rage Fury Maxx, une carte équipée de deux puces Rage 128 Pro, un échec cuisant (aucun

jeu ne tirant vraiment profit de cette carte). Tombé en désuétude quelques années, le concept a été repris par nVidia (qui a racheté 3Dfx) en 2004 avec sa version du SLI qui permettait de cumuler la puissance de deux GeForce. Les choses ont bien évolué depuis, si bien que quasiment toutes les cartes nVidia peuvent être utilisées en SLI et les cartes ATi ne sont pas en reste grâce à la technologie concurrente CrossFire. De nos jours, il est possible de cumuler deux, trois ou quatre GPU chez nVidia (SLI, 3-Way SLI

Les premières solutions CrossFire exigeaient une carte spécifique, c’était vraiment peu pratique.

et Quad SLI) et deux, trois ou quatre chez ATi également (CrossFireX).

Technique

C

ontrairement aux cas des multiples CPU/cores pour lesquels il faut développer des applications multithreadées, ce sont les

Le 3-Way SLI est apparu avec les GeForce 8800.

56

I Hardware Magazine

pilotes qui s’occupent de la répartition des tâches pour les cartes 3D. Il existe deux modes de rendu possibles. Le premier baptisé SFR pour Split Frame Rendering, mode dans lequel chaque GPU calcule un morceau de l’image. Pour ceux qui ont déjà lancé le benchmark Cinebench R10, dans lequel chaque core de votre processeur calcule une partie de l’image, c’est exactement pareil. Ce mode est assez rarement utilisé et tombe en désuétude, notamment en raison de petits bugs d’affichage, il y a parfois des problèmes de raccord et des

petites sautes d’image. Le rendu multiGPU le plus fréquent s’appelle AFR pour Alternate Frame Rendering. Dans ce second cas, chaque GPU calcule une image à son tour. C’est performant et d’autant plus efficace si le jeu a été prévu pour et si les effets 3D ne sont pas dépendants des frames. Imaginons qu’une partie du rendu (par exemple l’éblouissement du soleil) soit calculée sur la base de l’accumulation du résultat de X frames. Le GPU0 ne peut pas accumuler la partie du GPU1 et vice versa. Deux solutions à ce type de problème. La première, moins performante, consiste à transférer les données d’un GPU à l’autre à chaque fois. La seconde, plus efficace, consiste justement à prévoir le jeu pour un usage SLI ou CrossFire et à ajuster le code pour que chaque GPU calcule cette étape du rendu pour toutes les frames, même celles qu’il ne rend pas.


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.