Quelques jours après l'annonce de ses nouvelles GeForce RTX, NVIDIA commence à en livrer les secrets. Alors que l'on attend toujours le document détaillant l'implémentation grand public de l'architecture Ampere, de premiers secrets commencent à être dévoilés. Notamment sur la puissance de calcul.
Nous l'avons vu lors de l'annonce des nouvelles GeForce RTX 3070, 3080 et 3090, malgré deux années de rumeurs continues et autres fuites, de nombreuses prédictions sont tombées à côté de la plaque. Du traversal coprocessor, aux 5 376 CUDA Cores (le produit de 21 par 256) en passant par la gravure en 7 nm, presque tout était faux.
Ampere cachait de nombreux mystères
Mais il y a un secret mieux gardé que les autres par le constructeur, à l'origine de la surprise de beaucoup sur le rapport performances/prix ou l'efficacité énergétique d'Ampere : c'est son aspect « bi-GPU by design ». Comprendre que le constructeur a presque doublé le nombre de CUDA Cores par rapport à la génération précédente.

Certes, le passage de 12 nm à un process en 8 nm signé Samsung (préféré au 7 nm de TSMC en raison de son coût et de sa disponibilité) aide. Mais cela ne suffit pas à expliquer ce résultat. Certains ont même remis en cause ici ou là la véracité des chiffres annoncés, qui ont de quoi faire rêver : 20, 30 et 36 TFLOPS de puissance de calcul.
Comme nous le rappelions dans notre précédent article sur les performances en rendu 3D d'Ampere, la GeForce RTX 2080 annonçait 10,1 TFLOPs contre 13,6 TFLOPS pour la 2080 Ti et 16,3 TFLOPS pour la Quadro RTX 8000.
Doubler la puissance de calcul, mais pas toutes les unités
Pourtant, le discours de NVIDIA était clair pour qui sait tendre l'oreille : le nombre d'unités FP32 a été doublé. Celles en charge du calcul sur les flottants de 32 bits, essentielles dans le domaine des jeux vidéo. Moins que d'autres, en charge des calculs sur les entiers (INT) ou les fonctions mathématiques spéciales (SFU).
La solution était donc forcément là : une modification de l'équilibre au sein des Streaming Multiprocessors (SM). Notre pari était que NVIDIA avait trouvé un moyen de doubler le nombre de FP32, les fameux CUDA Cores, à moindres frais. Sans forcément faire de même avec le reste de l'architecture. C'était l'explication la plus logique.
Turing avait introduit l'exécution concurrentielle entre les unités FP32 et INT32, Ampere double les unités FP32
L'équipe de NVIDIA vient de le confirmer au sein d'un AMHA organisé sur Reddit :
« Les SM d'Ampere intègrent un nouveau design des datapaths pouvant gérer les opérations FP32 et INT32. L'un consiste en 16 CUDA Cores FP32 par partition capables de gérer 16 instructions FP32 par cycle d'horloge. L'autre 16 CUDA Cores FP32 et 16 Cores INT32.
Ainsi, chaque SM d'Ampere peut traiter 32 instructions FP32 par cycle ou 16 FP32 et 16 INT 32 par cycle. Chaque combinaison de 4 SM peut traiter 128 instructions FP32 par cycle, soit le double de Turing, ou 64 FP32 et 64 INT32. »
Ainsi, c'est bien le nombre d'unités FP32 qui a été doublé et seulement lui, sans qu'il en soit de même avec les INT32. On manque de détails sur la granularité de la chose. À quel point sera-t-il possible de mixer des instructions FP32 et INT32 dans le datapath capable de gérer les deux en complément de celui exclusivement FP32 ?
Il sera aussi intéressant de voir comment le reste de l'architecture a été adaptée. NVIDIA évoque un cache L1 doublé (passant de 116 Go/s de débit L1 à 219 Go/s). Chaque GPC a également droit à deux partitions de 8 ROP, le double de Turing. Ce malgré le fait que l'interface mémoire n'évolue pas.
Le constructeur devrait livrer toutes les clés de l'architecture avant le 14 septembre. On en saura plus alors.
Quantité de mémoire, DLSS 2.1, NVENC/NVDEC
Cet échange n'a pas été l'occasion que de parler de la puissance de calcul des nouvelles GeForce RTX. On apprend également que les 10 Go de GDDR6X ont été jugés largement suffisant pour la RTX 3080 et le jeu en 4K :
« Si vous regardez Shadow of the Tomb Raider, Assassin’s Creed Odyssey, Metro Exodus, Wolfenstein Youngblood, Gears of War 5, Borderlands 3 and Red Dead Redemption 2 sur cette définition avec cette carte, aux réglages à leur maximum (dont les packs de texture haute définition) avec RTX quand le jeu le supporte, vous êtes dans les 60 à 100 ips avec 4 à 6 Go de mémoire utilisée ».
De fait, les modèles avec 16 Go ou plus de mémoire sont en général pensés pour « attirer le larron » avec un argument marketing facile à afficher en gros sur la boite, qui trouve sa justification dans les applications professionnelles plus que dans les jeux, même de dernière génération. Mais c'est souvent assez efficace.
On s'attend d'ailleurs à ce qu'AMD propose son Big Navi (2X, RDNA2) avec 16 Go de mémoire. NVIDIA lui répondra-t-il alors avec une RTX 3080 Super 20 Go ? Nous verrons en temps voulu.
On apprend également que DLSS passe en version 2.1 avec le support de la 8K et une option de scaling x9, capable de gérer la VR. La définition de l'image calculée peut aussi être modifiée à la volée dans un mode adaptatif. Le SDK a été mis à jour, comme d'autres outils à destination des développeurs.
L'équipe confirme l'information donnée dans ses fiches techniques sur la partie multimédia : le moteur de compression vidéo NVENC (7e génération) est inchangé par rapport à Turing. Celui de décompression (NVDEC) passe à la 5e génération pour le support d'AV1. HDMI 2.1 (à 48 Gb/s) et DP 1.4a sont supportés.