Así es como AMD traerá Ray Tracing a sus tarjetas gráficas Radeon en PC y consolas
AMD lleva tiempo trabajando junto con Microsoft en una solución para el cálculo del trazado de rayos en tiempo real dentro de sus tarjetas gráficas. En varias ocasiones han sido preguntados y hasta hoy no teníamos ni idea de las soluciones que los de Lisa Su proponen frente a su máximo rival, donde al igual que NVIDIA usarán un enfoque híbrido para acelerar las tareas relativas al llamado AMD Ray Tracing.
AMD Ray Tracing procesamiento híbrido: Shaders, procesador de texturas y caché
La información desvelada viene dada por una patente registrada, donde AMD la titula como «Método y sistema de aceleración del trazado de rayos basado en un procesador de texturas«.
Dicho sistema, al igual que ha hecho ya NVIDIA con sus RT Cores dentro de Turing, plantea un enfoque híbrido para el cálculo del trazado de rayos dentro de una GPU, algo de lo que ya hemos hablado largo y tendido en anteriores artículos concretos para NVIDIA y Ray Tracing.
El enfoque de AMD es bastante complejo y aunque son en muchas ocasiones específicos dentro de la propia patente, queda por desvelar bastante información, sobre todo la desarrollada por software (entendemos que Microsoft tiene mucho que decir aquí), ya que parte de la patente, como decimos, se enfoca dentro de lo híbrido entre software y hardware.
La patente plantea dicho enfoque híbrido desde la aceleración de la función para el cálculo de los árboles para bounded volume hierarchy (BVH), donde curiosamente se utilizarían los Shaders para programar el procesamiento de estos. Esto deja en el aire donde entra el software en acción, pero afirma que resuelve los problemas de los cálculos si el proceso se basara solamente en software o hardware.
AMD afirma que los Shaders pueden controlar el cálculo general y al mismo tiempo omitir las funciones de hardware específicas donde sea necesario, obteniendo igualmente la ventaja de rendimiento.
Procesador de texturas, BVH caché y búferes específicos
Hace ya casi un año avisamos de que AMD habría cancelado Navi ante el despliegue de Turing por parte de NVIDIA para el trazado de rayos, dejando tiempo con ello para desarrollar por parte de los ingenieros una solución por hardware que compita contra los de Huang.
La respuesta llega con lo que AMD denomina como «motor de intersección de rayos de función fija» (fixed function ray intersection engine), que no es más que una unidad de hardware que realiza los cálculos de las intersecciones de los BVH.
Esto puede parecer una copia del sistema RT Cores de NVIDIA, pero realmente es bastante más simple y su función corre al mismo tiempo que la pipeline corriente al procesador de texturas de la GPU.
Dado que es un proceso que se realiza dentro del hardware, tampoco queda claro cual es la función del software aquí, pero, en cualquier caso, la implementación de un sistema así va a necesitar un programador específico para las cargas de AMD Ray Tracing.
Y es que según vemos en la patente, el motor de intersección tendría acceso a ciertos búferes de memoria, incluida la caché, por lo que no está claro si almacenará información o simplemente la agregará a esta para completar el trabajo para procesador de texturas.
Lo más probable es que la próxima generación de GPUs de AMD ya integre estas características y por ello los de Lisa Su hayan avanzado en su arquitectura RDNA a la espera de dicha implementación. Las consolas se verán también beneficiadas de estas mejoras, donde es posible que el software que porten ayude a mejorar el rendimiento de AMD en Ray Tracing.