Actualités cartes graphiques

NVIDIA & FutureMark font la paix

Publié le 03/06/2003 à 03:19 par
Imprimer

NVIDIA et FutureMark viennent de trouver un accord concernant leurs différents, et ont donc fait une déclaration que nous vous avons traduite rapidement :

Déclaration de FutureMark

Suite au document publié par FutureMark le 23 Mai 2003, Futuremark et NVIDIA ont eu pour la première fois depuis 6 mois des discussions détaillées concernant les GPUs NVIDIA et le benchmark 3DMark03 de FutureMark. Cette discussion a permis à FutureMark d'avoir une meilleure compréhension de la situation et de la stratégie d'optimisation de NVIDIA, et annonce maintenant que les derniers NVIDIA incluent non pas des cheats mais des optimisations spécifiques à une application (3DMark03).

Le monde des puces 3D a énormement changé avec la dernière génération de GPUs programmables. Un peu comme sur le marché des CPUs, chaque GPU a une architecture différente et une optimisation qui lui est propre. PCMark2002 dispose par exemple des compilations différentes de son test CPU pour l'Athlon XP et le Pentium 4.

3DMark03 est designé comme un test DirectX dépourvue de toute optimisation spécifique à un constructeur, et il donne des résultats en conséquence. Etant donné que toutes les modifications modifiant la charge de travail de 3DMark03 sont interdites, nous avons été obligés de mettre à jour ce produit pour éliminer les effets des optimisations identifiés dans différents drivers afin de permettre à 3DMark03 de continuer de produire des résultats comparables.

Toutefois, les avancées récentes dans l'industrie graphique et dans le développement des jeux suggèrent qu'une approche différente, intégrant directement des optimisations spécifiques aux constructeurs, pourrait être nécessaire pour les mesure de performances de type ludique. FutureMark étudiera la nécessité de l'intégration ou non d'une telle approche pour ses benchmarks à venir.

Déclaration de NVIDIA

NVIDIA travaille étroitement avec les développeurs afin d'optimiser les jeux pour les GeForce FX. Ces optimisations, qui incluent des optimisations de shader, sont les résultats d'un travail de co-développement que NVIDIA aurait préféré avoir pour 3DMark03.

Déclaration conjointe

NVIDIA comme Futuremark veulent définir des règles claires avec l'industrie concernant la facon de développer et d'utiliser les benchmarks. Nous croyons que des règles communes devraient empecher ce type de situation malheureuse de perdurer.
Nous ne pouvons que féliciter NVIDIA, qui est finalement arrivé à ses fins. Sans un accord à l'amiable, NVIDIA aurait tout fait pour continuer à décrédibiliser FutureMark, rendant la pérénité de la société difficile. Avec cet accord à l'amiable, FutureMark sauve sa peau, et plus si NVIDIA redevient membre payant du beta-test, mais se décrédibilise comme un grand en revenant sur ses dires malgré des preuves techniques indiscutables (plans de clipping statique par exemple). FutureMark va même jusqu'à se contredire dans sa déclaration, puisqu'il est indiqué que les drivers NVIDIA ne trichent pas alors qu'ils modifient la charge de travail de 3DMark, ce qui est "interdit". Mais bon, business is business, isn't it ?

Pour finir, en ce qui concerne l'éventualité de l'intégration d'optimisations spécifiques à tel ou tel constructeur dans un benchmark censé être synthétique et au plus proche des normes DirectX, nous sommes assez sceptiques puisque cela retirera une grande partie du côté synthétique de la chose, mais si cela est bien fait, en conservant une version générique en parrallèle par exemple, pourquoi pas. DirectX reste toutefois un standard et les possibilités d'optimisations pour tel ou tel constructeur n'ont rien à voir avec celles offertes par OpenGL.

FutureMark va devoir faire très attention dans ses prochains developpements, et devrait comme nous l'indiquions déjà dans notre article de février sur 3DMark03 plus se concentrer sur les tests synthétiques Direct3D que sur les scènes "jeux", même si ces dernières sont forcément plus vendeuses, tout comme l'est le slogan "Gamers Benchmark" par rapport à "Direct3D Benchmark".

Résultats de NVIDIA

Publié le 02/06/2003 à 11:07 par
Imprimer

Pour son dernier trimestre financier, qui prenait fin le 27 Avril 2003, NVIDIA a annoncé 404.9 Millions de $ de chiffre d'affaires pour un bénéfice net de 19.7 Millions de $. Au trimestre précédent, NVIDIA avait effectué un C.A. de 468.9 Millions pour un bénéfice de 50.9 Millions, et pour la même période l'année passée le constructeur avait atteint 582.9 Millions de $ de C.A. pour 83.2 Millions de $ de bénéfices.

Malgré des résultats logiquement baisse du fait de la concurrence d'ATI, NVIDIA reste donc bénéficiaire, et il est important de noter que le budget de recherche & développement (59 Millions de $ n'a pas baissé puisqu'il a même augmenté de 2 Millions de $ par rapport au trimestre précédent.

Update : En fait il s'agit des mêmes chiffres que ceux annoncés il y'a un mois et que nous avions un peu oubliés, NVIDIA a simplement communiqué une balance complète depuis cette date.

Les 5900 fin juin ?

Publié le 02/06/2003 à 02:41 par
Imprimer

C'est à la fin juin que les GeForce FX 5900 devraient être disponibles, du moins au Japon. En effet plusieurs magasins japonais  annoncent une disponibilité pour la dernière semaine de juin des GeForce FX 5900 ASUSTeK. La V9950 Ultra/TD (256 Mo) est affichée à 69800 Yens, ce qui nous donne 597 € après conversion et ajout de la TVA, contre 55800 Yens (477 €) pour la V9950/TD (128 Mo). Lors de l'annonce de la puce il y a 3 semaines, NVIDIA avait pour rappel annoncé une disponibilité pour le courant du mois de Juin.

5600, suite ... et fin ?

Publié le 30/05/2003 à 10:55 par
Imprimer

Voici une mise à jour de notre news d'hier suite aux dernières découvertes de ce jour.

Pour faire suite à notre test concernant le 5600 Ultra, nous avons essayé d'en savoir plus en ce qui concerne les shaders et nous sommes donc procurés la demo Mandelbrot dans sa version OpenGL afin de tester les performances des shaders via l'extension GL_ARB_fragment_program. Les résultats sont les suivants (en mode fenêtré) :

- La 9600 Pro travaille en FP24 et obtient 59 images /s
- La 5600 (non Ultra) travaille en FP32 et obtient 31 images /s

Une 5600 Ultra aurait bien entendu obtenus un meilleur résultat puisque avec une fréquence GPU de 400 MHz au lieu de 325 MHz on pourrait grimper jusqu'à 38 fps, mais nous n'avions malheureusement plus la carte sous la main. Bref en OpenGL les scores sont moins catastrophiques pour NVIDIA et la qualité est au rendez vous en ce qui concerne les calculs de pixel shading en virgule flottante, même si nous regrettons de ne pas pouvoir tester en FP16 pour le moment afin de savoir si la solution NVIDIA repasserait devant la solution ATI dans cette démo.

En ce qui concerne les problèmes mis en avant lors de notre test de la 5600 Ultra, nous avons travaillé en collaboration avec NVIDIA pour en savoir plus. Finalement, le problème de qualité des GeForce FX 5600 sous Direct3D avec les Detonator 44.03 WHQL (derniers officiels en date) n'est pas lié à Windows XP Français (ou tout du moins pas totalement) mais bien aux 44.03 qui forcent une précision partielle (FP16 ou FX12) par défaut, alors qu'une carte suivant la norme DirectX 9 se doit d'avoir par défaut une précision d'au moins 24 bits en virgule flottante. Un passage aux Detonator 44.10 , initialement mis en ligne par Dell pour la ligne Quadro mais modifiés pour prendre en compte tous les GPU NVIDIA, permet de contourner le problème et d'avoir une précision de type FP32 par défaut (screenshot 9600 Pro / FX 5600 - 44.03 ou 44.10 en pp / FX 5600 - 44.10).

Radeon 9600 ProGeForce FX 5600 - 44.03 ou 44.10 en ppGeForce FX 5600 - 44.10

Les performances restent par contre inchangées par rapport aux 44.03, et on obtient toujours 6 fps sous le test Pixel Shader 2.0 de 3DMark03 sur une 5600, contre 28 pour une 9600 Pro, ou encore 16 fps en fenêtré sous Mandelbrot que ce soit en mode full précision ou partial précision, contre 57 fps sur une 9600 Pro en full précision (le mode partial précision n'est pas pris en compte chez ATI, l'architecture DX9 du constructeur étant selon ses dires aussi rapide en FP16 qu'en FP24). Ces performances nous interrogent sur l'intérêt réel qu'avait NVIDIA à forcer une précision partielle avec ses drivers 44.03.

Pour les performances dans les jeux de simulation automobiles, Selon notre contact chez NVIDIA ces performances découleraient de la forte utilisation de single-texturing dans ce type de jeu. L'architecture du 5600 serait flexible et alors qu'on nous annonçait initialement une 4x1 (4 pipe avec 1 unité de texture par pipe), elle serait en pratique dans les jeux une 2x2 (2 pipe avec 2 unités de texture par pipe), d'où de faibles performances lors d'une forte utilisation de single-texturing et donc dans les jeux de voitures. Pour changer cela il faudrait que NVIDIA reconfigure le GPU en 4x1 pour ce type de jeu, ce qui est envisagé.

Bref, vivement de nouveaux drivers officiels résolvant l'un et l'autre de ces problèmes ...

L'avis de Carmack

Publié le 28/05/2003 à 18:45 par
Imprimer

q3.gif (13634 octets)J. Carmack, développeur des moteurs 3D chez ID Software et donc de Doom 3 a posté sur Slashdot  son avis en ce qui concerne le remplacement de shaders dans les applications DirectX 9 par les constructeurs de cartes graphiques :

Rewriting shaders behind an application's back in a way that changes the output under non-controlled circumstances is absolutely, positively wrong and indefensible.

Rewriting a shader so that it does exactly the same thing, but in a more efficient way, is generally acceptable compiler optimization, but there is a range of defensibility from completely generic instruction scheduling that helps almost everyone, to exact shader comparisons that only help one specific application. Full shader comparisons are morally grungy, but not deeply evil.


Pour résumer, Carmack indique qu'il est indéfendable de changer les shaders dans le dos d'une application à partir du moment ou cela change le rendu. Par contre, si le shader optimisé offre un rendu identique c'est acceptable à partir du moment où il s'agit d'optimisations générales profitant à toutes les applications et non d'optimisations qui n'aident que dans une application spécifique. Etant donné que pour le moment NVIDIA a implémenté des optimisations changeant la qualité du rendu et que ATI comme NVIDIA ont implémentés des optimisations spécifiques à 3DMark03, nous vous laissons conclure par vous-même ...

The significant issue that clouds current ATI / Nvidia comparisons is fragment shader precision. Nvidia can work at 12 bit integer, 16 bit float, and 32 bit float. ATI works only at 24 bit float. There isn't actually a mode where they can be exactly compared. DX9 and ARB_fragment_program assume 32 bit float operation, and ATI just converts everything to 24 bit. For just about any given set of operations, the Nvidia card operating at 16 bit float will be faster than the ATI, while the Nvidia operating at 32 bit float will be slower. When DOOM runs the NV30 specific fragment shader, it is faster than the ATI, while if they both run the ARB2 shader, the ATI is faster.

Concernant la bataille rangée entre ATI et NVIDIA sur les shaders en floating point, Carmack indique tout simplement que NVIDIA en FP16 est plus rapide que ATI en FP24, lui-même étant plus rapide que NVIDIA en FP32. Malheureusement J.C. ne précise pas de quelle carte il parle chez ATI comme chez NVIDIA, ce qui a son importance puisque en floating point selon NVIDIA il y'a un rapport de 1 pour 4 à fréquence égale entre une 5900 et une 5600, contre un pour deux chez ATI entre une 9800 et une 9600.

When the output goes to a normal 32 bit framebuffer, as all current tests do, it is possible for Nvidia to analyze data flow from textures, constants, and attributes, and change many 32 bit operations to 16 or even 12 bit operations with absolutely no loss of quality or functionality. This is completely acceptable, and will benefit all applications, but will almost certainly induce hard to find bugs in the shader compiler. You can really go overboard with this -- if you wanted every last possible precision savings, you would need to examine texture dimensions and track vertex buffer data ranges for each shader binding. That would be a really poor architectural decision, but benchmark pressure pushes vendors to such lengths if they avoid outright cheating. If really aggressive compiler optimizations are implemented, I hope they include a hint or pragma for "debug mode" that skips all the optimizations.

Carmack conclus en parlant de la possibilité qu'a NVIDIA, du fait de son architecture combinant plusieurs unités FX12/FP16/FP32 contre seulement des unités FP24 chez ATI, d'analyser les flux d'informations et de convertir les opérations FP32 en FP16 voir même en FX12, sans perte visuelle de qualité ou de fonctionnalités. Toutefois J.C. souhaiterais qu'en cas d'optimisations agressives il soit possible de les désactiver. Nous sommes globalement d'accords à partir du moment où c'est désactivable et à partir du moment où la qualité ne s'en ressent pas, ce qui n'est malheureusement pas actuellement le cas chez NVIDIA avec les drivers 44.03 sur les puces CineFX 1.0 (5200, 5600 et 5800). D'un autre côté, si un développeur décide d'utiliser à tel endroit telle précision, c'est peut-être parce qu'elle est nécessaire, non ?

Top articles