Nvidia RT Cores vs AMD Ray Accelerators - Expliqué

Avec la première génération de cartes graphiques RTX en 2018, Nvidia a présenté au monde une toute nouvelle fonctionnalité qui était censée changer le paysage du jeu tel que nous le connaissons. Les cartes graphiques de la première génération de la série RTX 2000 étaient basées sur la nouvelle architecture Turing et prenaient en charge le Ray Tracing en temps réel dans les jeux. Le Ray Tracing existait déjà dans l'animation 3D professionnelle et les domaines synthétiques, mais Nvidia a apporté un support pour le rendu en temps réel des jeux en utilisant la technologie Ray Tracing au lieu de la rastérisation traditionnelle qui était censée changer la donne. La pixellisation est la technique traditionnelle par laquelle les jeux sont rendus, tandis que le Ray Tracing utilise des calculs complexes pour décrire avec précision comment la lumière interagirait et se comporterait dans l'environnement de jeu comme elle le ferait dans la vie réelle. Vous pouvez en savoir plus sur le lancer de rayons et la pixellisation dans ce contenu .



Les réflexions par lancer de rayons peuvent être l'application la plus agréable du lancer de rayons dans les jeux - Image: Nvidia

En 2018, AMD n'avait pas de réponse pour la série de cartes graphiques RTX de Nvidia et leur fonctionnalité de lancer de rayons. L’équipe rouge n’était tout simplement pas prête pour l’introduction innovante de Nvidia, ce qui a mis ses meilleures offres dans une position désavantageuse par rapport à Team Green. L'AMD RX 5700 XT était une carte graphique fantastique pour le prix de 399 $, qui rivalisait avec les performances du RTX 2070 Super à 499 $. Le plus gros problème pour AMD était le fait que la concurrence offrait une technologie qu'ils ne possédaient pas. Ceci, associé à l'ensemble de fonctionnalités variées, à la prise en charge du DLSS, aux pilotes stables et aux performances globales supérieures, confèrent aux offres Nvidia un avantage significatif en ce qui concerne la génération Turing vs RDNA.



Série AMD RX 6000 avec Ray Tracing

Avance rapide jusqu'en 2020 et AMD a enfin apporté le combat aux meilleures offres de Nvidia. AMD a non seulement introduit la prise en charge du traçage de rayons en temps réel dans les jeux, mais ils ont également publié 3 cartes graphiques extrêmement compétitives par rapport aux meilleures cartes graphiques de Nvidia. L'AMD RX 6800, le RX 6800 XT et le RX 6900 XT s'affrontent respectivement avec les Nvidia RTX 3070, RTX 3080 et RTX 3090. AMD est enfin à nouveau compétitif sur le tout haut de gamme de la pile de produits, ce qui est également une nouvelle prometteuse pour les consommateurs.



Le lancer de rayons est l'une des principales fonctionnalités introduites par AMD cette génération - Image: AMD



Cependant, les choses ne sont pas non plus entièrement positives pour AMD. Bien qu'AMD ait introduit la prise en charge du traçage de rayons en temps réel dans les jeux, leurs performances de traçage de rayons ont reçu un accueil tiède de la part des critiques et des consommateurs en général. Cela est compréhensible cependant, étant donné qu’il s’agit de la première tentative d’AMD de lancer de rayons, il serait donc un peu injuste de s’attendre à ce qu’ils fournissent les meilleures performances de lancer de rayons dès leur première tentative. Cependant, cela soulève des questions sur le fonctionnement de l'implémentation du Ray Tracing d'AMD par rapport à l'implémentation de Nvidia que nous avons vue avec l'architecture Turing et maintenant avec l'architecture Ampere.

La suite de technologies RTX de Nvidia

La principale raison pour laquelle la tentative d'AMD semble décevante par rapport à celle de Nvidia est qu'AMD était essentiellement en train de rattraper Nvidia et n'avait plus ou moins seulement 2 ans pour développer et perfectionner son implémentation de Ray Tracing. Nvidia, d'autre part, développe cette technologie depuis bien plus longtemps car ils n'avaient personne avec qui rivaliser tout en haut de la gamme de produits. Nvidia a non seulement fourni un support de Ray Tracing avant AMD, mais il disposait également d'un meilleur écosystème de support construit autour de la technologie.

Nvidia a conçu sa série de cartes graphiques RTX 2000 avec le Ray Tracing comme objectif principal. Cela est évident tout au long de la conception de l'architecture de Turing elle-même. Non seulement Nvidia a multiplié le nombre de cœurs CUDA, mais ils ont également ajouté des cœurs de Ray Tracing spécifiques, appelés «RT Cores», qui gèrent la majeure partie des calculs nécessaires au Ray Tracing. Nvidia a également développé une technologie connue sous le nom de «Deep Learning Super Sampling ou DLSS», une technologie fantastique qui utilise l'apprentissage en profondeur et l'IA pour effectuer des tâches de mise à l'échelle et de reconstruction et également compenser la perte de performances du Ray Tracing. Nvidia a également introduit des «Tensor Cores» dédiés dans les cartes de la série GeForce, qui sont conçus pour aider dans les tâches d'apprentissage profond et d'IA telles que DLSS. En plus de cela, Nvidia a également travaillé avec des studios de jeux pour optimiser les prochains jeux Ray Tracing pour le matériel Nvidia dédié afin que les performances puissent être maximisées.



Dans Ray Tracing, la lumière se comporte dans le jeu comme elle le ferait dans la vraie vie - Image: Nvidia

Cœurs RT de Nvidia

Les cœurs RT ou Ray Tracing sont des cœurs matériels dédiés de Nvidia qui sont spécifiquement conçus pour gérer la charge de travail de calcul associée au Ray Tracing en temps réel dans les jeux. Le fait d'avoir des cœurs spécialisés pour le Ray Tracing décharge une grande partie de la charge de travail des cœurs CUDA qui sont dédiés au rendu standard dans les jeux afin que les performances ne soient pas trop affectées par la saturation de l'utilisation des cœurs. Les RT Cores sacrifient la polyvalence et implémentent du matériel avec une architecture spéciale pour des calculs ou des algorithmes spéciaux afin d'atteindre des vitesses plus rapides.

Les algorithmes d'accélération de Ray Tracing les plus courants qui sont communément connus sont BVH et Ray Packet Tracing et le diagramme schématique de l'architecture de Turing mentionne également BVH (Bounding Volume Hierarchy) Transversal. Le RT Core est conçu pour identifier et accélérer les commandes relatives au rendu Ray Traced dans les jeux.

Le RT Core expliqué - Image: Nvidia

Selon l'ancien architecte GPU principal de Nvidia, Yubo Zhang:

«[Traduit] Le noyau RT ajoute essentiellement un pipeline dédié (ASIC) au SM pour calculer l'intersection des rayons et des triangles. Il peut accéder au BVH et configurer certains tampons L0 pour réduire le délai d'accès aux données BVH et triangle. La demande est faite par SM. L’instruction est émise et le résultat est renvoyé au registre local du SM. L'instruction entrelacée et les autres instructions d'E / S arithmétiques ou mémoire peuvent être simultanées. Comme il s'agit d'une logique de circuit spécifique à l'ASIC, les performances / mm2 peuvent être augmentées d'un ordre de grandeur par rapport à l'utilisation du code shader pour le calcul d'intersection. Bien que j'ai quitté la NV, j'ai participé à la conception de l'architecture de Turing. J'étais responsable de la coloration à taux variable. Je suis ravi de voir la sortie maintenant. »

Nvidia indique également dans le livre blanc sur l'architecture de Turing que les cœurs RT fonctionnent avec un filtrage de débruitage avancé, une structure d'accélération BVH très efficace développée par NVIDIA Research et des API compatibles RTX pour réaliser un traçage de rayons en temps réel sur un seul GPU Turing. Les RT Cores traversent le BVH de manière autonome et, en accélérant les tests de traversée et d'intersection rayon / triangle, ils déchargent le SM, lui permettant de gérer un autre sommet, pixel et calculer le travail d'ombrage. Les fonctions telles que la création et le réaménagement de BVH sont gérées par le pilote, et la génération de rayons et l'ombrage sont gérés par l'application via de nouveaux types de shaders. Cela libère les unités SM pour effectuer d'autres travaux graphiques et informatiques.

Accélérateurs de rayons AMD

AMD est entré dans la course du Ray Tracing avec sa série RX 6000 et avec cela, ils ont également introduit quelques éléments clés dans la conception architecturale RDNA 2 qui aident avec cette fonctionnalité. Pour améliorer les performances de Ray Tracing des GPU RDNA 2 d'AMD, AMD a intégré un composant Ray Accelerator dans sa conception d'unité de calcul principale. Ces accélérateurs de rayons sont censés augmenter l'efficacité des unités de calcul standard dans les charges de travail de calcul liées au lancer de rayons.

Le mécanisme derrière le fonctionnement des accélérateurs de rayons est encore relativement vague, mais AMD a fourni un aperçu de la façon dont ces éléments sont censés fonctionner. Selon AMD, ces accélérateurs de rayons ont pour objectif explicite de traverser la structure BVH (Bounded Volume Hierarchy) et de déterminer efficacement les intersections entre les rayons et les boîtes (et éventuellement les triangles). La conception prend entièrement en charge DirectX Ray Tracing (DXR de Microsoft) qui est la norme de l'industrie pour les jeux sur PC. En plus de cela, AMD utilise un débruiteur basé sur le calcul pour nettoyer les effets spéculaires des scènes de lancer de rayons plutôt que de s'appuyer sur du matériel spécialement conçu. Cela exercera probablement une pression supplémentaire sur les capacités de précision mixte des nouvelles unités de calcul.

Explication des accélérateurs de rayons - Image: AMD

Les accélérateurs de rayons sont également capables de traiter quatre intersections de boîtes de volume délimitées ou une intersection de triangle par seconde, ce qui est beaucoup plus rapide que le rendu d'une scène par lancer de rayons sans matériel dédié. L’approche d’AMD présente un gros avantage, à savoir que les accélérateurs RT de RDNA 2 peuvent interagir avec le cache Infinity de la carte. Il est possible de stocker simultanément un grand nombre de structures de volumes limités dans le cache, de sorte qu'une certaine charge peut être retirée de la gestion des données et des cellules de lecture de la mémoire.

Différence clé

La plus grande différence qui est immédiatement évidente en comparant les cœurs RT et les accélérateurs de rayons est que, bien que les deux exécutent leurs fonctions de manière assez similaire, les cœurs RT sont des cœurs matériels séparés dédiés qui ont une fonction singulière, tandis que les accélérateurs de rayons font partie de la structure d'unité de calcul standard dans l'architecture RDNA 2. Non seulement cela, les RT Cores de Nvidia en sont à leur deuxième génération avec Ampère avec de nombreuses améliorations techniques et architecturales sous le capot. Cela fait de l'implémentation RT Core de Nvidia une méthode de Ray Tracing beaucoup plus efficace et puissante que l'implémentation d'AMD avec les accélérateurs de rayon.

Puisqu'il y a un seul accélérateur de rayons intégré dans chaque unité de calcul, l'AMD RX 6900 XT reçoit 80 accélérateurs de rayons, le 6800 XT reçoit 72 accélérateurs de rayons et le RX 6800 reçoit 60 accélérateurs de rayons. Ces chiffres ne sont pas directement comparables aux numéros RT Core de Nvidia car il s'agit de cœurs dédiés construits avec une seule fonction à l'esprit. Le RTX 3090 obtient 82 2ndCœurs de la génération RT, le RTX 3080 obtient 60 2ndLes cœurs de la génération RT et le RTX 3070 obtiennent 46 2ndCœurs de la génération RT. Nvidia a également des cœurs de tension séparés dans toutes ces cartes qui aident à l'apprentissage automatique et aux applications d'IA comme DLSS, sur lesquelles vous pouvez en savoir plus. dans cet article .

Il y a un accélérateur de rayons intégré dans chaque unité de calcul dans RDNA 2 - Image: AMD

Optimisation future

Il est difficile de dire à ce stade ce que l'avenir réserve à Ray Tracing pour Nvidia et AMD, mais on peut faire quelques suppositions éclairées en analysant la situation actuelle. Au moment de la rédaction de cet article, Nvidia détient une avance assez significative dans les performances du Ray Tracing par rapport directement aux offres d'AMD. Bien qu'AMD ait fait un début impressionnant pour RT, ils ont encore 2 ans de retard sur Nvidia en termes de recherche, développement, support et optimisation. Nvidia a verrouillé la plupart des titres de Ray Tracing en ce moment en 2020 pour utiliser le matériel dédié de Nvidia mieux que ce qu'AMD a mis en place. Ceci, combiné au fait que les cœurs RT de Nvidia sont plus matures et plus puissants que les accélérateurs de rayons d'AMD, place AMD dans une situation désavantageuse en ce qui concerne la situation actuelle du lancer de rayons.

Cependant, AMD ne s'arrête certainement pas là. AMD a déjà annoncé qu'il travaillait sur une alternative AMD au DLSS, ce qui est une aide considérable pour améliorer les performances du Ray Tracing. AMD travaille également avec des studios de jeux pour optimiser les jeux à venir pour leur matériel, ce qui apparaît dans des titres comme GodFall et Dirt 5 où les cartes de la série RX 6000 d'AMD fonctionnent étonnamment bien. Par conséquent, nous pouvons nous attendre à ce que la prise en charge du Ray Tracing d’AMD s’améliore de plus en plus avec les titres à venir et le développement de technologies à venir comme l’alternative DLSS.

Cela dit, au moment de la rédaction de cet article, RTX Suite de Nvidia est tout simplement trop puissant pour être ignoré pour quiconque recherche de sérieuses performances de Ray Tracing. Notre recommandation standard sera la nouvelle série de cartes graphiques RTX 3000 de Nvidia sur la série RX 6000 d'AMD pour quiconque considère le Ray Tracing comme un facteur important dans la décision d'achat. Cela pourrait et devrait changer avec les futures offres d'AMD, ainsi qu'avec les améliorations des pilotes et de l'optimisation des jeux au fil du temps.

Jeux à venir prenant en charge RTX et DLSS - Image: Nvidia

Mots finaux

AMD a enfin sauté sur la scène du Ray Tracing avec l'introduction de sa série de cartes graphiques RX 6000 basées sur l'architecture RDNA 2. Bien qu’elles ne battent pas les cartes de la série RTX 3000 de Nvidia dans les benchmarks directs de Ray Tracing, les offres AMD offrent des performances de rastérisation extrêmement compétitives et une valeur impressionnante qui peuvent plaire aux joueurs qui ne se soucient pas autant du Ray Tracing. Cependant, AMD est sur la bonne voie pour améliorer les performances du lancer de rayons avec plusieurs étapes clés successives.

L'approche adoptée par Nvidia et AMD pour le Ray Tracing est assez similaire, mais les deux sociétés utilisent des techniques matérielles différentes pour ce faire. Les premiers tests ont montré que les cœurs RT dédiés de Nvidia surpassent les accélérateurs de rayons AMD intégrés aux unités de calcul elles-mêmes. Cela ne préoccupe peut-être pas beaucoup l'utilisateur final, mais c'est une chose importante à considérer pour l'avenir, car les développeurs de jeux sont maintenant confrontés à la décision d'optimiser leurs fonctionnalités RT pour l'une des deux approches.