Tarjetas gráficasTutoriales

NVIDIA RT Cores: concepto, importancia y análisis con Turing y Ampere

NVIDIA presentó los Turing RT Cores junto con su primera generación Ray Tracing, o RTX como dicen ellos. Estos pequeños núcleos son vitales para el trazado de rayos, por lo que hemos decidido abordar su funcionamiento y concepto, tanto en Turing (1ª generación), como en Ampere (2ª generación).

Debutaron con las RTX 2000 y son esenciales en cualquier tarjeta gráfica de NVIDIA para poder jugar usando Ray Tracing. Tras la presentación de la arquitectura Ampere, NVIDIA enseñaba la 2ª generación de los RT Cores, la cual venía con ciertas novedades a efectos de rendimiento. Vamos a analizar qué son y para qué se utilizan, así como ver las principales diferencias con Ampere.

Qué son los RT Cores

rt cores ray tracing

El Ray Tracing en tiempo real aterriza para los consumidores en 2018 con la gama Turing, pero hay una clave para todo ello: los RT Cores. Tras 10 años de intenso trabajo en NVIDIA para sacar Ray Tracing a la luz en tiempo real, los RT Cores son el pilar esencial por 3 razones:

  • Canalización de renderizado híbrido.
  • Algoritmos para eliminar el ruido.
  • Algoritmos BVH eficientes.

Explicado de forma sencilla, los RT Cores son una pieza hardware que NVIDIA implementa en sus GPUs RTX para acelerar el Ray Tracing en tiempo real. El RT Core añade una pipeline dedicada (ASIC) al SM para calcular la intersección de rayos y triángulos, pudiendo acceder al BVH (un algoritmo). BVH se usa para preprocesar una escena con el objeto de acelerar el proceso a la hora de encontrar el triángulo más cercano a una luz (sol, bombilla, etc.).

Es gracias a BVH que se reducen el número de triángulos que se deben atravesar para calcular la intersección más cercana de cada rayo. Esto cobra sentido cuando una escena tiene mucha luz, pudiendo preprocesarse solo una vez.

algoritmo bvh

Esto desahoga mucho a los SM, evitando que gasten miles de espacios de instrucción por rayo. Un núcleo RT está compuesto por 2 unidades especializadas:

  • Uno realiza las pruebas del cuadro delimitador.
  • El segundo realiza pruebas de intersección de rayos y triángulos para informar si son correctos los resultados al SM.

Consideramos útil saber cómo funciona el trazado de rayos de forma escueta:

  1. Se lanza una sonda de rayos de prueba (Ray Probe).
  2. Se busca una caja, se descodifica y se hacen pruebas de intersección.
  3. Después, se hace una prueba de intersección de rayos.
  4. Se devuelve el choque.
  5. Procede a sombrearlo.

Ray Tracing proceso

¿Cuál es la función del RT Core? Concretamente, las funciones 2, 3 y 4 del proceso enumerado anteriormente. Gracias a los RT Cores, se devuelve el resultado y permite al sombreador aplicarlo. Por otro lado, gestiona agrupaciones y programación de operaciones de memoria para intentar maximizar el rendimiento de ésta en relación con los rayos.

Los RT Cores funcionan como un bloque de IP de descarga convencional, y es que las instrucciones dirigidas a los RT Cores se enrutan fuera de los subnúcleos. Un RT Core recibe una sonda de rayos del SM y empieza a atravesar el BVH de forma autónoma para realizar pruebas de intersección de rayos.

Turing SM

Dentro del Ray Tracing, el ancho de banda de memoria es un problema que causa un cuello de botella, algo que ha estudiado mucho NVIDIA. El problema de la carga de trabajo derivada del Ray Tracing está en que apareja como resultado accesos irregulares o aleatorios a la memoria, ¿por qué? Por los rayos incoherentes, y eso que se hacen miles de cálculos. Aquí es donde entra la API (DXR), la cual gestiona la aplicación del Ray Tracing.

Por tanto, la idea de NVIDIA era implementar un hardware con una arquitectura especial para cálculos/algoritmos especiales de cara a lograr más FPS en Ray Tracing. Por ello, hay 2 algoritmos para acelerar Ray Tracing: BVH (Bounding Volume Hierachy) y Ray Packet Tracing.

Por último, NVIDIA calcula la potencia o rendimiento de los RT Cores mediante la relación «Giga Rays por segundo«.

Ampere vs Turing, ¿qué novedades hay en estos núcleos RT?

rt cores ampere

En el apartado anterior, la misión era explicar a grosso modo cómo funciona el Ray Tracing relacionándolo con los RT Cores, el SM, el algoritmo BVH, etc. Ahora, es turno de ver qué mejoran los RT Cores de 2ª generación que equipan las RTX 3000. Algunos/as os preguntaréis, ¿por qué? Por el rendimiento Ray Tracing.

En nuestra review de la RTX 3060, vimos como quedaba por detrás de la RTX 2070 y 2080 en Ray Tracing a 1080p en algunos juegos; sin embargo, veíamos a la 3060 Ti superar a la RTX 2080 Super. Veamos qué RT Cores tienen cada una y luego profundizamos más:

RTX 3060 RTX 2070 RTX 3060 Ti RTX 2070 SUPER RTX 2080 SUPER
RT Cores 28 36 38 40

48

Realmente, la RTX 3060 Ti supera a las RTX 2070 y 2080 SUPER teniendo menos RT Cores, ¿será por que la 2ª generación de estos núcleos es más potente? NVIDIA no da muchos detalles sobre cómo calcula los RT TFLOPs, pero los RT Cores de Ampere son el doble de rápidos que los de Turing.

Una de las causas por las que el rendimiento de los RT Cores de Ampere se habría mejorado, sería mediante la agregación de unidades computacionales adicionales. En su presentación, NVIDIA habló sobre una MIMD (unidad de ejecución) mejorada y de nuevas rutinas de interpolación de triángulos, que ayudan al desenfoque de movimiento.

Además, la arquitectura Ampere añade un soporte para cargas de trabajo de gráficos RT concurrentes (cómputo RT+), que permite mejorar el rendimiento Ray Tracing en términos generales. Este sería uno de los motivos por los que las RTX 3060 Ti pueden superar a las RTX 2070 y 2080 de Turing teniendo menos RT Cores.

No obstante, ese «doble rendimiento» de los RT Cores de 2ª generación no se ve de igual manera en las RTX 3060, a pesar de que tienen 12 GB GDDR6. Bueno, hay que tener en cuenta la cantidad de TMUs y ROPs que tienen estas tarjetas gráficas, por no hablar del ancho de banda.

RTX 3060 RTX 2070 RTX 3060 Ti RTX 2070 SUPER

RTX 2080 SUPER

TMUs

112 144 152 160

192

ROPs

48 64 80 64

64

Ancho de banda

192-bit 256-bit 256-bit 256-bit

256-bit

Esperamos que os haya sido de ayuda esta información. Si tenéis alguna duda, comentad abajo y contestamos vuestras preguntas.

Te recomendamos las mejores tarjetas gráficas del mercado

¿Conocíais las diferencias de rendimiento de arquitecturas? ¿Sabíais cómo funcionaban los RT Cores?

Ángel Aller

Graduado en Derecho y exabogado con Máster de Comercio internacional. Amante de la tecnología y geek inconformista. Leal a Alt+F4 como estilo de vida.
Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar Política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en [email protected]
Botón volver arriba