Pourquoi AMD a-t-il de moins bonnes performances en Ray Tracing ?

L'une des choses dont on parle longuement est la mauvaise performance de AMD cartes graphiques en Ray Tracing , surtout par rapport à NVIDIA's. Cependant, beaucoup lèvent la main lorsque nous disons que la mise en œuvre du matériel nécessaire par le Radeon Technology Group est si médiocre qu'elle ressemble littéralement à un boycott de l'adoption de cette technologie. Lequel rappelons qu'il est idéal pour résoudre certains problèmes visuels en infographie et ce n'est pas non plus une invention du constructeur GeForce.

Pour nous, la fonction principale d'une carte graphique est qu'elle nous permet de jouer à nos jeux avec facilité et performance, en même temps que si vous allez en avoir besoin pour des tâches plus professionnelles, comme le montage vidéo ou la création de 3D modèles, c'est plus que suffisant. avec son travail. Lorsque nous disons qu'AMD a peu de performances en Ray Tracing, nous ne mettons pas NVIDIA à travers le toit, mais plutôt, en tant qu'utilisateurs que nous sommes également, nous sommes attristés de voir que quelque chose qui dans les Radeons pourrait être bien meilleur, ne l'est pas.

Pourquoi AMD a-t-il de moins bonnes performances en Ray Tracing

L'algorithme de lancer de rayons

Pour comprendre les mauvaises performances des cartes AMD en Ray Tracing il faut comprendre qu'il s'agit en fait d'un algorithme récursif pour générer une scène complète, qui dans sa version la plus simple peut se résumer comme suit :

  • Pour chaque pixel de la scène
    • Calculer le rayon de visualisation
      • Si la foudre frappe un objet, évaluez la couleur de l'objet.
      • Sinon, ce pixel a la couleur d'arrière-plan.

Le rayon n'est rien d'autre qu'un vecteur qui part de la caméra qui « enregistre » la scène et qui traverse une matrice de points ou un maillage, où chacun d'eux est un pixel. A chaque fois un effet de contrôle sera effectué sur la scène. Eh bien, si nous avons une scène en Full HD, cela signifie qu'il faudra effectuer 2 millions de vérifications, si le jeu est à 60 FPS, cela fait 120 millions de vérifications par seconde.

Mathématiquement, la formule la plus courante pour le vérifier n'est pas une opération simple, mais plutôt une équation complexe avec des vecteurs, qui nécessite une certaine puissance. À tel point que le simple fait de ne pas avoir d'unité parallèle chargée de réaliser cette tâche peut réduire le pourcentage de performance à des chiffres à un chiffre.

esquema fonctionne Ray Tracing

Unités d'intersection matérielles

C'est pourquoi NVIDIA a les RT Cores et AMD a les Ray Accelerator Units, ce sont les mêmes, car ils sont du même type d'unité et sont utilisés pour la même tâche. Cependant, dans la dernière génération, le RX 6000 avait une limitation que, heureusement, le RTG a résolue dans RDNA 3 et, par conséquent, dans la gamme RX 7000.

Tarjetas Gráficas RX 7000 Ray Tracing

Quel est le problème, alors ?

  • La bonne chose, et donc le positif, c'est que maintenant ce qui manquait dans RDNA 2 a été inclus dans RDNA 3.
  • La mauvaise chose et ce qui nous fait avoir une mauvaise performance de Ray Tracing sur AMD est la quantité d'interactions rayon-triangle qu'il peut calculer. Un bond de seulement 50% est très médiocre lorsque votre rival a doublé les performances d'une génération à l'autre.

N'oublions pas que les premières cartes 3D apparues sur le marché étaient chargées d'accélérer de plus en plus l'opération de pixellisation triangulaire, qui est la plus courante à cet égard. Il en va de même pour cette partie en ray tracing. Le fait qu'AMD ait fait un si petit bond à cet égard est donc décevant.

Comment cela affecte-t-il les performances globales ?

Bien que l'intersection des rayons fasse partie du décor, c'est un élément commun à toutes les scènes qui est essentiel. N'oublions pas que c'est un processus qui passe par étapes où le fait que l'on aille plus lentement que la normale finit par affecter les performances des suivants.

DXR Pas de lancer de rayons en ligne

Par conséquent, si nous parvenons à accélérer une étape, nous obtenons un temps plus court pour générer la même image, c'est-à-dire que cela prend moins de millisecondes et cela fait plus d'images par seconde. Ce qui doit être clair, c'est que le processus d'intersection est récursif et continu dans Ray Tracing et, par conséquent, il est nécessaire que cette partie ait de bonnes performances.

L'autre problème : les performances en virgule flottante

Les GPU fonctionnent généralement sur des blocs de données à l'unisson, en leur appliquant la même instruction. C'est pourquoi son type d'unité par excellence est ce que nous appelons les unités SIMD, qui, comme leur nom l'indique, appliquent la même instruction à plusieurs données différentes en même temps. Eh bien, NVIDIA dans le RTX 30 a apporté une amélioration assez curieuse qui lui permet de calculer deux fois plus d'opérations en virgule flottante 32 bits par cycle d'horloge et par cœur.

L'astuce consistait à ajouter une deuxième unité SIMD à 16 éléments sur chacun des sous-cœurs pour un total de 64 opérations supplémentaires par unité à l'intérieur du GPU. Cependant, ils n'ont pas augmenté le nombre d'enregistrements ou d'accès, car ils ont été commutés avec l'unité des nombres entiers. Qu'est-ce que cela se traduit ? Le RTX 30 et le RTX 40 atteignent tous deux des performances en virgule flottante doubles dans certaines conditions, pas toujours.

AMD, d'autre part, a cherché une autre solution qu'ils ont appelée Dual Issue, mais dans leurs spécifications techniques, ils disent que le nombre d'unités à virgule flottante n'a pas augmenté, mais que sous certaines conditions, ils peuvent emballer 2 instructions en même temps . Cependant, le nombre d'unités par cœur ou unité de calcul est toujours au maximum de 64, au lieu de 128, comme dans le cas de NVIDIA.

RDNA 3 à double problème

Que veut dire AMD par "Dual Issue" dans RDNA 3 ?

Cependant, si vous comptez le nombre d'opérations en virgule flottante données par AMD, qui sont généralement données à un maximum théorique, effectuer 100% du temps l'opération ou l'addition FMA avec multiplication en virgule flottante, ce qui est irréaliste, car il ne prend pas en compte compte des accès mémoire et du fait que les programmes n'utilisent pas toujours ladite instruction, mais il tient compte du fait qu'elle est la plus utilisée lors de la génération de graphiques. Le fait est que l'instruction est de 2 opérations.

Eh bien, ce qu'AMD a fait, c'est que certaines instructions peuvent être packagées deux par deux dans les unités de calcul, permettant d'atteindre le double de puissance en virgule flottante avec RDNA 2 sous certaines conditions. C'est le même cas qu'avec les GPU NVIDIA. La puissance supplémentaire en virgule flottante n'est pas doublée en général, mais seulement sous certaines conditions. C'est donc un problème courant. Dans tous les cas, la mesure en TFLOPS est encore aujourd'hui une astuce marketing.

Alors, pourquoi est-ce important pour les performances de Ray Tracing d'AMD ? Eh bien, du fait que cela nous aide à mesurer la puissance de calcul des unités utilisées dans le reste des étapes du lancer de rayons qui ne sont pas l'intersection des rayons. Dans tous les cas, AMD lui-même affirme que l'amélioration intergénérationnelle est de 18 % à la même vitesse d'horloge.

AMD RDNA 3 meilleure utilisation

Performances du GPU AMD dans le Ray Tracing : les chiffres

Si nous comparons les performances des différentes unités d'intersection sur les différentes générations de cartes graphiques de NVIDIA et d'AMD, nous verrons quel est le problème.

GPU Intersections/s (en millions) couleurs MHz Intersections (cœur et MHz)
RTX 2080Ti 105600 68 1545 UN
RTX 3090Ti 312480 84 1860 2
RTX 4090 1290240 144 2520 3.6
RX 6950 XT 184800 80 2310 UN
RX7900XTX 360000 96 2500 1.5

À première vue, la puissance brute dans cet aspect est supérieure à celle d'un RTX 3090 Ti, oui, nous regardons la deuxième colonne. Cependant, c'est ce dernier qui est important, car il nous indique combien d'interceptions sont calculées par cœur et cycle d'horloge sur le GPU. Et la déception vient du fait que bien qu'on ne demande pas à AMD de donner le résultat de 3.6 pour la RTX 40, on lui demande d'atteindre au moins 2 pour la RTX 30. C'est la principale raison des mauvaises performances des cartes graphiques AMD. en lancer de rayons. Et la raison pour laquelle nous pensons qu'ils auraient pu faire beaucoup mieux.

C'est plus, et déjà pour finir, car le Ray Accelerator Unit est une boîte noire en soi qui peut être remplacée sans toucher au reste de l'architecture. AMD peut ramasser et créer une gamme RX 7 × 50 pour l'année à venir qui conserve tous les avantages du RDNA 3 actuel, mais avec le RAU amélioré et voir les performances de jeu augmenter de pourcentages à deux chiffres en termes de fréquence d'images.

Quelles sont les performances des jeux AMD avec Ray Tracing en RDNA 3 ?

Maintenant, pour finir, nous avons la cerise sur le gâteau et parlons de ses performances dans les jeux. Étant donné qu'AMD a publiquement revendiqué une amélioration de 50 %, nous devrions nous attendre à un bond tout aussi important. Cependant, nous avons découvert plus tard qu'ils faisaient référence à des performances par watt, à une certaine quantité de celles-ci et à un jeu spécifique, qui n'a pas été spécifié. L'important est donc de savoir quelle a été l'amélioration par rapport à la génération précédente, dans cet aspect, notamment en raison du fait qu'ils partent d'une performance plutôt médiocre en lancer de rayons qui vient du RX 6000.