Apparue en 2005, la technologie Crossfire est une réponse frontale au SLI de son éternel concurrent nvidia.
Cette technologie s'adresse principalement à une catégorie de consommatateurs bien spécifique : les hardcore gamers .
Il s'agit d'une clientèle principalement masculine âgée de 12 à 25 ans, friand de puissance pour jouir de toutes les avancées en terme de graphisme (jeux vidéos).
Cette solution matérielle est adaptée à leur exigence car elle leur permet d'avoir une certaine marge de puissance pour ainsi conserver leur configuration sur une plus longue durée.
Nous allons ici nous intéresser à l'architecture de cette technologie, son apport réel en terme de performance, de la principale qualité par rapport à son concurrent et bien sûre de ses limites.
|
Architecture de la technologie Crossfire |
La technologie correspond à la conjugaison de trois systèmes indissociables : une carte mère compatible Crossfire (avec un chipset Radeon Xpress 200 ou 300), d'une carte graphique Radeon X850 ou X800 et une carte graphique Crossfire.
Pour empêcher que ce sytème concurrence directement les nouveaux chipsets de la marque, ils seront bloqués au niveau logiciel.
La carte Crossfire, carte maitresse du dispositif, correspond à une carte légèrement modifiée en comparaison à une Radeon classique. En effet, elle intègre des éléments supplémentaires dont notamment le Compositing Engine dont nous developperons plus loin l'architecture ainsi que le principe de fonctionnement. En plus de ce Compositing Engine, la carte Crossfire dispose d'une entrée DVI (la carte crossfire et la radeon classique disposent toutes les deux d'une sortie DVI).
Il est à noter que deux cartes graphiques quelconques de la marque ne peuvent être couplées : la carte maitresse doit forcément être de type Crossfire (et disposer ainsi du Compositing Engine, ainsi que de l'entrée DVI) et la carte esclave de type Radeon classique (X800 ou X850).
Contrairement à son concurrent qui a préféré opter pour un lien interne pour relier ses deux cartes, ATI a choisit de faire appel à une connectique externe : le DVI.
Le traitement issu de la carte esclave doit être associée à celui de la carte maitresse.
Ainsi, la partie calculée par la carte esclave est transférée par cable DVI à la c arte maitresse qui se charge alors de la mélanger avec celle issue de son propre traitement.
Nvidia a fait le choix d'incorporer le dispositif nécessaire à l'association des calculs directement dans le GPU de la carte SLI (geforce 6800, geforce 6600).
ATI a priviligié une architecture différente : le mélange des données est effectuée par une unité indépendante du GPU de la carte Crossfire : le Compositing Engine.
Le centre nerveux de la technologie Crossfire
Le Compositing Engine est une unité consistuée d'une puce FPGA (Field Gate Programmable Gate Array) de la marque Xilinx: le Composing Engine est un Spartan Xilinx produit à Taïwan.
Celle-ci dispose de 8000 cellules logiques programmables, de la mémoire et quelques structures et unités à calcul fixes.
L'intérêt de ce choix technologique est simple : en utilisant un FPGA, Ati n'a pas à développer industriellement une puce qui se chargera du traitement. Le developpement n'est alors que logiciel et une simple mise à jour de la ROM du Compositing Engine permettra à Ati de corriger certains défauts ou améliorer certaines qualités sans avoir à intervenir dans sa chaine de production.
Bien évidemment, ATI est le seul à pouvoir accéder à sa programmation pour notamment garantir une certaine limitation dans les performances de cette technologie car il ne faudrait pas que le Crossfire concurrence les futurs chipset de la marque.
Le signal DVI émis par la carte esclave à l'issu d'un traitement est transmis à la carte Crossfire via le cable DVI externe décrit précédemment. C'est ensuite au recepteur DVI de la carte Crossfire qui se charge de transmettre se signal DVI au Compositing Engine.
Celui-ci se charge ensuite de récupérer parallèlement les données issues cette fois du GPU de la carte Crossfire pour les mélanger. Un fois le traitement effectué, le Compositing Engine transmet le résultat au RAMDAC.
Le RAMDAC est une unité placé derrière le Compositing Engine dont l'unique rôle est d'afficher l'image calculée par les deux GPU sur les CRT.
Le RAMDAC choisi par ATI fonctionne à une fréquence de 240 Mhz, permettant ainsi l'affichage d'une image avec une résolution de 1920x1200 et un taux de rafraîchissement de 75 Hz.
Continuons dans les différences avec le SLI : nVidia, dont la stratégie multi cartes avait été planifiée longtemps à lavance, a choisi de doter ses cartes dune connecteur spécifique, permettant aux cartes de communiquer directement lune avec lautre. Ce nest pas le cas dATI qui repose donc sur deux techniques pour échanger des informations entre les cartes.
Ainsi chaque puce dispose de son propre espace mémoire en RAM principale stockant ses données privées (commandes, textures, vertex buffers) mais une autre zone mémoire est réservée pour le partage des données entre les deux GPU. Ces données partagées peuvent être des commandes de synchronisation, des textures etc
|
Les méthodes de rendues gérées par la technologie Crossfire |
Comme pour la technologie concurrente, le SLI de nVidia, le Crossfire gère différents modes de traitement des images. Chacun de ces modes a ses atouts et ses limites.
Le mode SuperTilling
C'est la méthode par défaut qu'utilise le Crossfire : elle consiste à diviser une images en macroblocs. Ce damier de macroblocs est équiréparti à chacune des cartes : l'une traite une moitié et la seconde moitié.
Ce système est censé être la méthode de rendu apportant la meilleure efficacité possible dans la mesure où la charge est statistiquement mieux répartie.
Cela dit, ce mode ne fonctionne pas avec des systèmes à 12 pipelines : les cartes Radeon X800, X800Pro et X850Pro ne peuvent donc pas être associées à des cartes Crossfire.
Le mode Scissor (ou SFR)
Le modèle de rendu Scissor divise lécran horizontalement. Une carte calcule la moitié supérieure, lautre la moitié inférieure. La répartition dynamique de la charge permet de léquilibrer au mieux entre les deux cartes. Le mode Scissor est le mode standard pour les applications OpenGL.
Le mode AFR
Pour ce mode chaque GPU calcule une image différente : l'un des deux GPUs traite les images paires et l'autre les images impaires.
Ce mode permet le gain de performance le plus important sur des configuration multi GPU étant donné qu'il double complètement la puissance de calcul en sus de la bande passante de la mémoire.
La encore ce mode de traitement a ses limites : lorsqu'il s'agit de gérer des effets qui ne se répercutent pas sur toute les images succesives mais en partie seulement, le mode de rendu est inadapté.
L'effet de « reflection » sur certain jeux peut n'être calculé qu'une fois toutes les 2 ou 3 images afin de réduire son coûts en terme de performances.
Si le mode est activé et qu'une reflexion est présente sur une scène, il faudrait que le GPU2 récupère la partie du rendu qui contient cette reflexion calculée par le GPU1, ce qui s'avère être une tâche nettement plus compliquée et qui demande d'avantage de ressource pouvant aller jusqu'à l'annulation du gain en performance de l'AFR.
Le SuperAA
Ce mode est le mode de secours pour un système de type Crossfire :quand le SuperTiling, Scissor et AFR ne fonctionnent pas, ou n'apportent pas de gain significatif ou lorsque le jeu n'exploite que l'équivalent d'un GPU en terme de puissance. Chacune des cartes récupèrent des échantillons de l'image en respectant un certain schema, le FSAA, qui est d'ailleurs reprogrammable pour les cartes Radeon.
Ce mode permet ainsi d'améliorer le FSAA final puisqu'il permet de le doubler. Par contre le débit n'est pas amélioré.
Les Performances
Les performances sont en fait assez aléatoires. En effet, elle dépendent directement des programmeurs de jeux qui devront en amont prendre en compte dans leurs algorithme les divers possibilités de cette technologie. Comme le prouve ces deux diagrammes : pour l'un le SLI de nvidia est plus performant (nombre de frame par seconde plus élevé) que le Crossfire, et inversement.
Il semble néammoins que lorsque le Crossfire dépasse la technologie SLI, cela se fait de façon modéré et seulement sur le marchés des cartes très haut de gammes.
On peut globalement avancer que ces deux technologies se valent et qu'il est très difficile de déterminer celle qui est plus performante que l'autre.
La technologie présentent de nombreux atouts et de nombreux defauts, mais tout dépend du point de vue où l'on se place.
Pour Ati, il est évident : l'utilisation d'une puce FPGA Xilinx confère une certaine souplesse à cette architecture qui est déjà assez rigide. Cette puce a permit à ATI de rattraper son retard par rapport à nvidia qui, avec son SLI avait développé une architecture totalement en hardware. De plus en cas de défaut d'architecture, une simple mise à jour du Compositing Engine pourra corriger se défaut.
Cela dit, cette architecture est assez couteuse puisqu'elle exige d'avoir une carte video Crossfire, une carte classique de la firme avec bien sur une carte mère compatible Crossfire. Il est claire que l'acquisition d'AMD de la firme ATI va permettre de diluer cette technologie dans le microcosme des hardware gamers.
Cela dit, la technolgie Crossfire a été très couteuse pour le constructeur de carte graphique.
Le surcoût et la complexité de fabrication engendrés par le câble externe, le module FPGA programmé en Compositing Engine, le récepteur DVI et le RAMDAC, ont obligé ATI à prendre en charge la fabrication des cartes CrossFire et à les redistribuer aux fabricants qui désirent en commercialiser pour qu'au final elle puisse être vendu au même prix qu'une carte classique.
Cette puce FPGA de la gamme Spartan 3 de chez Xilinx a lavantage d'une puce de type FPGA (reprogrammation après fabrication). En utilisant une puce de ce type ATI se réserve donc la possibilité de changer les modes de combinaison des images produites par les GPU.
En contrepartie les puces FPGA présentent quelques inconvénients par rapport à des ASIC. En particulier leur coût plus élevé dès que le volume devient important (plus de 10 000 unités). Ils sont également plus lents que des ASIC dédiés (technologie choisie par son concurrent nvidia) et consomment plus.
A la vue de la lourdeur de l'architecture, il semble évident que cette architecture n'est aucunement une révolution technologique : il s'agit-là véritablement d'une stratégie commerciale pour séduire les consommateurs de jeux vidéos exigeants.
http://www.tomshardware.fr/crossfire_le_sli_d_ati-art-952-1.html
Site réputé pour mettre en ligne des informations concernant les nouvelles technologies avec des tests très rigoureux (régulièrements cité dans des revues comme PC Expert)
http://fr.wikipedia.org/wiki/CrossFire
Cette encyclopédie universelle a servi comme point de départ pour nos recherches (il est en effet nécessaire de nuancer les informations présentées sur ce site)
http://www.presence-pc.com/actualite/ati-crossfire-10126/
pour les même raisons que tomshardware.fr. Cette article m'a permit d'avoir une idée sur la nature du Compositing Engine.
http://www.hardware.fr/articles/590-1/ati-crossfire-test.html
Site qui présentent des tests pertinents concernants les nouvelles technologies. J'ai pu croisé les informations extraites des cites prédemment cités. |