Nvidia RT Cores frente a AMD Ray Accelerators - Explicación

Con la primera generación de tarjetas gráficas RTX en 2018, Nvidia presentó al mundo una característica completamente nueva que se suponía que iba a cambiar el panorama de los juegos como lo conocemos. Las tarjetas gráficas de la serie RTX 2000 de primera generación se basaron en la nueva arquitectura de Turing y trajeron soporte para Ray Tracing en tiempo real en los juegos. Ray Tracing ya existía en la animación 3D profesional y los campos sintéticos, pero Nvidia ofrecía soporte para la renderización en tiempo real de juegos utilizando la tecnología Ray Tracing en lugar de la rasterización tradicional que se suponía que iba a cambiar el juego. La rasterización es la técnica tradicional mediante la cual se renderizan los juegos, mientras que Ray Tracing usa cálculos complejos para representar con precisión cómo interactuaría y se comportaría la luz en el entorno del juego como lo haría en la vida real. Puede obtener más información sobre el trazado de rayos y la rasterización en esta pieza de contenido .



Ray Traced Reflections puede ser la aplicación más atractiva de Ray Tracing en juegos - Imagen: Nvidia

En 2018, AMD no tenía respuesta para la serie de tarjetas gráficas RTX de Nvidia y su funcionalidad Ray Tracing. El Equipo Rojo simplemente no estaba listo para la innovadora presentación de Nvidia, y esto puso sus mejores ofertas en una desventaja significativa en comparación con el Equipo Verde. La AMD RX 5700 XT era una tarjeta gráfica fantástica por el precio de $ 399 que rivalizaba con el rendimiento de la RTX 2070 Super de $ 499. Sin embargo, el mayor problema para AMD fue el hecho de que la competencia ofrecía una tecnología que ellos no poseían. Esto, junto con el conjunto diverso de funciones, la compatibilidad con DLSS, los controladores estables y el rendimiento superior general, colocan las ofertas de Nvidia en una ventaja significativa cuando se trata de la generación Turing vs RDNA.



Serie AMD RX 6000 con trazado de rayos

Avance rápido hasta 2020 y AMD finalmente ha llevado la lucha a las principales ofertas de Nvidia. AMD no solo ha introducido el soporte para el trazado de rayos en tiempo real en los juegos, sino que también ha lanzado 3 tarjetas gráficas que son extremadamente competitivas con respecto a las mejores tarjetas gráficas de Nvidia. La AMD RX 6800, la RX 6800 XT y la RX 6900 XT están luchando cara a cara con las Nvidia RTX 3070, RTX 3080 y RTX 3090 respectivamente. AMD finalmente vuelve a ser competitiva en el extremo superior de la pila de productos, lo que también es una noticia prometedora para los consumidores.



Raytracing es una de las características clave que AMD ha introducido en esta generación - Imagen: AMD



Sin embargo, las cosas tampoco son del todo positivas para AMD. Aunque AMD ha introducido soporte para el trazado de rayos en tiempo real en los juegos, su rendimiento de trazado de rayos recibió una recepción tibia tanto por parte de los críticos como de los consumidores en general. Sin embargo, es comprensible ya que este es el primer intento de AMD con Ray Tracing, por lo que sería un poco injusto esperar que ofrezcan el mejor rendimiento de Ray Tracing en su primer intento. Sin embargo, plantea preguntas sobre la forma en que funciona la implementación de Ray Tracing de AMD en comparación con la implementación de Nvidia que vimos con la arquitectura Turing y ahora Ampere.

Conjunto de tecnologías RTX de Nvidia

La razón principal por la que el intento de AMD parece ser decepcionante en comparación con el de Nvidia es que AMD estaba esencialmente tratando de ponerse al día con Nvidia y tenía más o menos solo 2 años para desarrollar y perfeccionar su implementación de Ray Tracing. Nvidia, por otro lado, ha estado desarrollando esta tecnología durante mucho más tiempo, ya que no tenían contra quién competir en la parte superior de la pila de productos. Nvidia no solo ofreció soporte Ray Tracing antes que AMD, sino que también tuvo un mejor ecosistema de soporte construido alrededor de la tecnología.

Nvidia diseñó su serie RTX 2000 de tarjetas gráficas con Ray Tracing como foco principal. Esto es evidente en todo el diseño de la propia arquitectura de Turing. Nvidia no solo multiplicó la cantidad de núcleos CUDA, sino que también agregó núcleos específicos de Ray Tracing, conocidos como “RT Cores”, que manejan la mayor parte de los cálculos necesarios para el Ray Tracing. Nvidia también desarrolló una tecnología conocida como 'Deep Learning Super Sampling o DLSS', que es una tecnología fantástica que utiliza el aprendizaje profundo y la inteligencia artificial para realizar tareas de ampliación y reconstrucción y también compensar la pérdida de rendimiento de Ray Tracing. Nvidia también introdujo 'Tensor Cores' dedicados en las tarjetas de la serie GeForce, que están diseñadas para ayudar en tareas de aprendizaje profundo y de inteligencia artificial como DLSS. Además de eso, Nvidia también trabajó con estudios de juegos para optimizar los próximos juegos de Ray Tracing para el hardware dedicado de Nvidia, de modo que se pueda maximizar el rendimiento.



En Ray Tracing, la luz se comporta en el juego como lo haría en la vida real - Imagen: Nvidia

Nvidia s RT Cores

Los núcleos RT o Ray Tracing son núcleos de hardware dedicados de Nvidia que están diseñados específicamente para manejar la carga de trabajo computacional asociada con el trazado de rayos en tiempo real en los juegos. Tener núcleos especializados para Ray Tracing descarga una gran cantidad de trabajo de los núcleos CUDA que están dedicados al renderizado estándar en juegos para que el rendimiento no se vea demasiado afectado por la saturación de la utilización del núcleo. Los RT Cores sacrifican la versatilidad e implementan hardware con una arquitectura especial para cálculos o algoritmos especiales para lograr velocidades más rápidas.

Los algoritmos de aceleración de Ray Tracing más comunes que se conocen comúnmente son BVH y Ray Packet Tracing y el diagrama esquemático de la arquitectura de Turing también menciona BVH (Bounding Volume Hierarchy) transversal. El RT Core está diseñado para identificar y acelerar los comandos que pertenecen al renderizado Ray Traced en juegos.

Explicación del RT Core - Imagen: Nvidia

Según el ex arquitecto senior de GPU de Nvidia, Yubo Zhang:

“[Traducido] El núcleo RT esencialmente agrega una tubería dedicada (ASIC) al SM para calcular la intersección del rayo y el triángulo. Puede acceder al BVH y configurar algunos búferes L0 para reducir la demora del acceso a datos BVH y triangulares. La solicitud la realiza SM. Se emite la instrucción y el resultado se devuelve al registro local del SM. La instrucción intercalada y otras instrucciones de E / S aritméticas o de memoria pueden ser concurrentes. Debido a que es una lógica de circuito específica de ASIC, el rendimiento / mm2 se puede aumentar en un orden de magnitud en comparación con el uso del código de sombreado para el cálculo de intersecciones. Aunque dejé la NV, participé en el diseño de la arquitectura de Turing. Fui responsable de la coloración de tasa variable. Estoy emocionado de ver el lanzamiento ahora '.

Nvidia también afirma en el Libro blanco de la arquitectura de Turing que los núcleos RT funcionan junto con un filtrado de eliminación de ruido avanzado, una estructura de aceleración BVH altamente eficiente desarrollada por NVIDIA Research y API compatibles con RTX para lograr el trazado de rayos en tiempo real en una sola GPU de Turing. Los RT Cores atraviesan el BVH de forma autónoma y, al acelerar las pruebas de cruce y de intersección de rayos / triángulos, descargan el SM, lo que le permite manejar otro vértice, píxel y calcular el trabajo de sombreado. El controlador maneja funciones como la construcción y el reacondicionamiento de BVH, y la aplicación administra la generación de rayos y el sombreado a través de nuevos tipos de sombreadores. Esto libera a las unidades SM para realizar otros trabajos gráficos y computacionales.

Aceleradores de rayos de AMD

AMD ha entrado en la carrera de Ray Tracing con su serie RX 6000 y, con eso, también han introducido algunos elementos clave en el diseño arquitectónico RDNA 2 que ayudan con esta característica. Para mejorar el rendimiento de Ray Tracing de las GPU RDNA 2 de AMD, AMD ha incorporado un componente Ray Accelerator en su diseño de unidad de cómputo central. Se supone que estos aceleradores de rayos aumentan la eficiencia de las unidades informáticas estándar en las cargas de trabajo computacionales relacionadas con el trazado de rayos.

El mecanismo detrás del funcionamiento de los aceleradores de rayos aún es relativamente vago, sin embargo AMD ha proporcionado una idea de cómo se supone que funcionan estos elementos. Según AMD, estos aceleradores de rayos tienen el propósito expreso de atravesar la estructura de Jerarquía de volumen limitado (BVH) y determinar de manera eficiente las intersecciones entre rayos y cajas (y eventualmente triángulos). El diseño es totalmente compatible con DirectX Ray Tracing (DXR de Microsoft), que es el estándar de la industria para juegos de PC. Además de eso, AMD utiliza un eliminador de ruido basado en computadora para limpiar los efectos especulares de las escenas con trazado de rayos en lugar de depender de hardware especialmente diseñado. Esto probablemente ejercerá una presión adicional sobre las capacidades de precisión mixta de las nuevas unidades de cálculo.

Explicación de los aceleradores de rayos - Imagen: AMD

Los aceleradores de rayos también son capaces de procesar cuatro intersecciones de caja de volumen acotado o una intersección de triángulo por segundo, lo que es mucho más rápido que renderizar una escena con trazado de rayos sin hardware dedicado. Existe una gran ventaja en el enfoque de AMD, que es que los aceleradores RT de RDNA 2 pueden interactuar con el Infinity Cache de la tarjeta. Es posible almacenar una gran cantidad de estructuras de volumen limitadas simultáneamente en la caché, por lo que se puede quitar algo de carga de la gestión de datos y las celdas de lectura de memoria.

Diferencia clave

La mayor diferencia que es inmediatamente obvia al comparar los RT Cores y los Ray Accelerators es que si bien ambos realizan sus funciones de manera bastante similar, los RT Cores son núcleos de hardware separados y dedicados que tienen una función singular, mientras que los Ray Accelerators son parte de la estructura estándar de Compute Unit en la arquitectura RDNA 2. No solo eso, los RT Cores de Nvidia están en su segunda generación con Ampere con muchas mejoras técnicas y arquitectónicas bajo el capó. Esto hace que la implementación RT Core de Nvidia sea un método de trazado de rayos mucho más eficiente y potente que la implementación de AMD con los aceleradores de rayos.

Dado que hay un único Acelerador de Rayos integrado en cada Unidad de Computación, el AMD RX 6900 XT obtiene 80 Aceleradores de Rayos, el 6800 XT obtiene 72 Aceleradores de Rayos y el RX 6800 obtiene 60 Aceleradores de Rayos. Estos números no son directamente comparables a los números RT Core de Nvidia, ya que son núcleos dedicados creados con una sola función en mente. El RTX 3090 obtiene 82 2Dakota del NorteNúcleos Gen RT, el RTX 3080 obtiene 60 2Dakota del NorteGen RT Cores y el RTX 3070 obtiene 46 2Dakota del NorteNúcleos Gen RT. Nvidia también tiene núcleos tensores separados en todas estas tarjetas que ayudan en el aprendizaje automático y las aplicaciones de inteligencia artificial como DLSS, sobre las que puede obtener más información. en este articulo .

Hay un Ray Accelerator integrado en cada unidad de cómputo en RDNA 2 - Imagen: AMD

Optimización futura

Es difícil decir en este momento lo que depara el futuro en Ray Tracing para Nvidia y AMD, pero se pueden hacer algunas conjeturas al analizar la situación actual. En el momento de escribir este artículo, Nvidia tiene una ventaja bastante significativa en el rendimiento de Ray Tracing en comparación directamente con las ofertas de AMD. Aunque AMD ha tenido un comienzo impresionante para RT, todavía están 2 años por detrás de Nvidia en términos de investigación, desarrollo, soporte y optimización. Nvidia ha bloqueado la mayoría de los títulos de Ray Tracing en este momento en 2020 para usar el hardware dedicado de Nvidia mejor que lo que AMD ha creado. Esto, combinado con el hecho de que los núcleos RT de Nvidia son más maduros y más potentes que los aceleradores de rayos de AMD, ponen a AMD en desventaja cuando se trata de la situación actual del trazado de rayos.

Sin embargo, AMD definitivamente no se detendrá aquí. AMD ya ha anunciado que están trabajando en una alternativa de AMD a DLSS, que es una gran ayuda para mejorar el rendimiento de Ray Tracing. AMD también está trabajando con estudios de juegos para optimizar los próximos juegos para su hardware, que se muestra en títulos como GodFall y Dirt 5 donde las tarjetas de la serie RX 6000 de AMD funcionan sorprendentemente bien. Por lo tanto, podemos esperar que la compatibilidad con Ray Tracing de AMD mejore cada vez más con los próximos títulos y el desarrollo de tecnologías futuras como la alternativa DLSS.

Dicho esto, en el momento de redactar este artículo, RTX Suite de Nvidia es demasiado potente como para ignorarlo cualquiera que busque un rendimiento de Ray Tracing serio. Nuestra recomendación estándar será la nueva serie RTX 3000 de tarjetas gráficas de Nvidia sobre la serie RX 6000 de AMD para cualquiera que considere Ray Tracing un factor importante en la decisión de compra. Esto podría y debería cambiar con las futuras ofertas de AMD, así como con las mejoras tanto en los controladores como en la optimización del juego a medida que pasa el tiempo.

Próximos juegos compatibles con RTX y DLSS - Imagen: Nvidia

Ultimas palabras

AMD finalmente ha saltado a la escena del trazado de rayos con la introducción de su serie RX 6000 de tarjetas gráficas basadas en la arquitectura RDNA 2. Si bien no superan a las tarjetas de la serie RTX 3000 de Nvidia en los puntos de referencia directos de Ray Tracing, las ofertas de AMD brindan un rendimiento de rasterización extremadamente competitivo y un valor impresionante que puede atraer a los jugadores que no se preocupan tanto por Ray Tracing. Sin embargo, AMD está bien encaminado para mejorar el rendimiento del trazado de rayos con varios pasos clave en rápida sucesión.

El enfoque adoptado por Nvidia y AMD para Ray Tracing es bastante similar, pero ambas empresas utilizan diferentes técnicas de hardware para hacerlo. Las pruebas iniciales han demostrado que los núcleos RT dedicados de Nvidia superan a los aceleradores de rayos de AMD que están integrados en las propias unidades informáticas. Esto podría no ser una gran preocupación para el usuario final, pero es algo importante a considerar para el futuro, ya que los desarrolladores de juegos ahora se enfrentan a la decisión de optimizar sus funciones de RT para cualquiera de los dos enfoques.