Las claves y mejoras de la arquitectura NVIDIA Ada Lovelace para las RTX 40

No se puede decir que la arquitectura NVIDIA Ada Lovelace haya sido revolucionaria respecto a las anteriores.  Pero ha resultado ser de nuevo es un salto en rendimiento importante respecto a la generación anterior.  Además de incluir una serie de novedades y nuevos componentes que vamos a desgranar a continuación, en especial en lo que es la generación de gráficos en 3D a tiempo real, lo cual es clave para el rendimiento de los juegos en PC, pero especialmente en un cambio generacional que parece durar una eternidad.

Lovelace se trata de un hardware evolutivo respecto a la arquitectura anterior, Ampere, mejorando en ciertos puntos y conservando elementos de las RTX 30. No obstante se dice que lo bueno está en los pequeños detalles y se puede decir, sin temor a equivocarnos, que NVIDIA no solo ha aprovechado el paso de los 8 nm de Samsung a los 4 nm de TSMC (4N, derivado directo de los 5 nm) para añadir más núcleos y caché, sino también para hacer pequeños cambios que resultaran importantes de cara al futuro.

Organización general de la arquitectura NVIDIA Ada Lovelace

NVIDIA AD102 Ada Lovelace Diagrama

En el caso que nos ocupa, NVIDIA ha continuado con la misma organización general que en las anteriores generaciones de GPU de la marca, por lo que a vista de pájaro no hay cambios significativos. La única diferencia es que el salto de los 8 nm de Samsung a los 4 nm de TSMC le ha permitido a NVIDIA colocar 16 veces más caché L2 en los chips con arquitectura NVIDIA Lovelace y aumentar la cantidad de Stream Multiprocessors máximos en el chip con la mayor configuración, de 84 a 144, aunque por el momento no han llegado a dicha cifra y la RTX 4090 se queda en los 128, dando margen a una eventual RTX 4090 Ti.

Cómo siempre hemos dicho que la organización general de los nuevos chips es la misma que siempre, pero con un aumento considerable en el número de núcleos.

  • Hasta 12 GPC (Graphics Processor Cluster).
    • 16 ROPS por GPC.
    • 1 unidad de rasterizado por GPC, con la capacidad de rasterizar un triángulo por ciclo de reloj.
    • Cada uno de los GPC se encuentra conectado a una partición de caché L2.
    • La caché L2 se encuentra unificada, y sirve de puente entre la memoria de la tarjeta gráfica y las diferentes unidades dentro del GPC, pero no se encuentra dentro de este último.
    • Cada GPC puede tener hasta 6 TPC (Texture Processor Cluster).
      • El Polymorph Engine o unidad de teselación por hardware.
      • Caché L1 de instrucciones.
      • 2 unidades SM, stream multiprocessor.

Una vez ordenados los diferentes elementos nos vamos a centrar en los últimos, los Stream Multiprocessors, que son los verdaderos núcleos de la GPU y donde la arquitectura NVIDIA Lovelace ha sufrido más cambios respecto a la generación anterior.

SM en NVIDIA Ada Lovelace

NVIDIA-AD102-SM-Ada-Lovelace

Los Stream Multiprocessors son las piezas fundamentales de toda arquitectura gráfica de NVIDIA a día de hoy, por lo general, y desde hace varias generaciones incluyen:
  • 4 Sub-núcleos, que incluyen:
    • Una unidad SIMD de 16 unidades FP32
    • Una unidad SIMD de 16 unidades FP32 y otra INT32, una conmutada respecto a la otra.
    • 1 o 2 "núcleos" tensoriales o matrices sistólicas.
    • Los registros y el planificador para todos los elementos anteriores, así como la cache L0.
  • Memoria local+Caché de datos L1.
  • RT Core, unidad para el cálculo de intersecciones en el Ray Tracing.
  • 4 unidades de funciones especiales o SFU, las cuales son ALU encargadas de operaciones complejas como razones trigonométricas, logaritmos, potencias, raíces cuadradas y divisiones.
Si nos fijamos únicamente en los diagramas parecerá que ambas arquitecturas son idénticas, sin embargo, NVIDIA en Lovelace ha decidido mejorar dos elementos que definen a sus RTX, por un lado, los llamados Tensor Cores y por el otro los RT Cores, los cuales son los que han sufrido los cambios más importantes.

Tensor Cores de cuarta generación

Tenjsor Cores Arquitectura NVIDIA Lovelace

Las unidades bautizadas como Tensor Cores son las unidades encargadas de acelerar la mayoría de algoritmos de Deep Learning, se les llama también procesadores de matrices por el hecho que tienen la capacidad de ejecutar en muy pocos ciclos de reloj operaciones de este tipo, las cuales son muy usadas en algoritmos relacionados con lo que solemos llamar, simplificando la cosas, inteligencia artificial.  Al contrario que los RT Cores, no son una unidad autónoma, sino que son un tipo de ALU como lo son las unidades SIMD, es más, comparten el mismo planificador y los registros.

No obstante, lo que nos interesa son las novedades, entre las que destaca el soporte para operaciones matemáticas usando el formato FP8, el cual se suma a los anteriormente soportados: F16, BF16, TF32, INT8 e INT4. Algunos de ellos haciendo uso de SIMD sobre registro, duplicando o incluso cuadriplicando la tasa de operaciones por ciclo de reloj.

Nuevos RT Cores

RT Cores arquitectura NVIDIA Ada Lovelace

Si bien los RT Cores se encuentran en el interior de cada uno de los SM, a un ratio de uno por Stream Multiprocessor. Estos han ido creciendo en complejidad todo este tiempo y al contrario que los Tensor Cores se trata de una unidad autónoma independiente. Qué, si bien puede comunicarse con caché interna y la memoria local de estos, no necesita los registros para operar, pudiendo hacer su trabajo sin obstáculos.

El motivo principal para la existencia de este tipo de unidades, se debe a que en el Ray Tracing los cálculos de intersección se hacen continuamente y sin los RT Cores acabarían por saturar a las unidades SIMD a niveles ingentes, lo que haría bajar el rendimiento de la GPU en escenas con Ray Tracing al suelo.

En cuanto a las novedades incluidas en los nuevos RT Cores en la arquitectura NVIDIA Ada Lovelace, tenemos que su rendimiento se ha duplicado y con ello el ratio de intersecciones que pueden hacer por SM y por ciclo de reloj respecto a su predecesor. Sin embargo, no son los únicos cambios, ya que NVIDIA ha añadido dos elementos adicionales, los cuales son muy importantes a futuro.

Opacity Micromaps Engine

Opacity Micromap Engine

La primera de las dos unidades que se ha incluido es una unidad que permite acelerar el trazado de rayos en superficies que tengan transparencia total o parcial. Ejemplos de ello son una ventana en la que se pueda ver a través o las hojas de un árbol. Se trata de una solución, la cual reemplaza el costoso en el acceso a memoria Alpha Blending y el hecho de tener que evaluar cada objeto a través de shaders.

Con este añadido en la arquitectura NVIDIA Ada Lovelace, es posible poder calcular el Ray Tracing sobre dichos objetos sin tener que depender de un programa shader o de uno más reducido. Dejando libre a las unidades SIMD de cada uno de los SM para otras tareas y acelerando la tasa de frames por segundo en dichas escenas.

Displaced Micro-Mesh Engine

Unreal Engine 5 Geometria

Esta unidad es sumamente interesante de cara al futuro y muchos la están obviando, lo curioso es que NVIDIA ha decidido incluirla dentro del RT Core, pero en realidad no tiene una relación directa con el Ray Tracing. Si no que nos permite utilizar geometría de alta precisión, es decir, micro polígonos.

Esto es esencial para motores gráficos como Unreal Engine 5, los cuales usan este tipo de primitivas de alta precisión, pero requieren de las unidades SIMD para ejecutarlas por el hecho de que las unidades de rasterizado son poco eficientes. El nombre de Displaced viene por el hecho de que, al igual que ocurre en el caso del Displaced Mapping, genera la geometría a partir de un pequeño mapa que indica la expansión del objeto base, pero manteniendo su forma original.

Más caché L2 que nunca en la arquitectura NVIDIA Ada Lovelace

NVIDIA-AD102-RTX-40-Ada-Lovelace

El último punto a destacar es la caché L2, que ha aumentado hasta dieciséis veces en tamaño respecto a las RTX 30, por lo que no podemos dejar de pensar en el cambio que le hizo ya AMD a sus RDNA 2 al incluir la Infinity Cache, pero aquí la diferencia está en que NVIDIA no ha añadido un nivel nuevo y en ese aspecto ha mantenido la estructura intacta respecto a las RTX 30, con la excepción del tamaño.

El gran cuello de botella en las GPU de la familia RTX 40 es la memoria utilizada. Una RTX 3090 Ti con menos SM activos, 84, frente a una RTX 4090, 128, tiene menos necesidad de accesos a memoria y de ancho de banda. ¿El problema? Ambas usan exactamente la misma memoria. Por lo que podemos deducir que la GPU Top con la arquitectura Ada Lovelace se ve limitada en cuanto a sus accesos a memoria. ¿La solución? Aumentar el tamaño de la caché L2 en lo máximo que se pueda sin llegar a los límites que les permite la economía del chip que viene dictado por su tamaño.

¿La ventaja en el rendimiento? Dado que todas las unidades escriben y leen sobre la caché L2, el aumentar su tamaño permite mantener más tiempo los datos en ella al haber espacio para los nuevos. Lo cual reduce los caros, en cuanto a consumo energético, accesos a la memoria de vídeo.

Ada Lovelace: una arquitectura optimizada para mayor velocidad

NVIDIA-RTX-4090

Sin embargo, no podemos olvidar que, el hecho de poner a trabajar a los ingenieros bajo un nuevo nodo de fabricación supone replantearse muchas cosas en cuanto al diseño interno. Si bien el uso de los 4 nm de TSMC permiten una mayor velocidad de reloj, esto también se consigue con una segmentación en número de etapas más grande.

Y precisamente ese es uno de los puntos más importantes de la arquitectura Ada Lovelace que se suelen ignorar más. En especial a la hora de hacer un análisis de su organización, dado que el salto, en la cantidad de transistores, de una generación a otra, no va de acorde ni con el aumento en el número de núcleos y tampoco en un aumento lineal del rendimiento.

Es más, nos encontramos con una paradoja curiosa, las tarjetas gráficas con arquitectura NVIDIA Ada Lovelace de gama más baja que la RTX 4090 están venciendo a sus contrapartes de la generación anterior, no con una mayor cantidad de núcleos y unidades de cálculo. Si no con una mayor velocidad de reloj. Lo cual en teoría debería ayudar a lanzar chips mucho más pequeños y con un coste menor. Todo ello sería cierto si la cantidad de transistores necesarios en todo procesador se mantuviese al querer conseguir mayores velocidades de reloj.

Esto es todo lo que hemos de comentar acerca de la última arquitectura de GPU para gaming de NVIDIA, esperemos que hayas aprendido algo nuevo y disfrutado con nuestro artículo.