AMD RDNA 3, las claves de la arquitectura para las RX 7000 al detalle
En el día de ayer AMD presentó toda una revolución dentro de las tarjetas gráficas para el consumidor dando muchos detalles sobre las RX 7000, con dos modelos tope de gama como son la RX 7900 XTX y la RX 7900 XT. Lo mejor de todo no fue conocer de primera mano las especificaciones o precios, lo mejor sin duda fue el salto de arquitectura que AMD ha dado con estas tarjetas, porque las novedades son grandes e interesantes de analizar, así como las tecnologías que han usado para crearlas. Por ello, vamos a conocer hasta donde nos dejaron la arquitectura RDNA 3, completando algunos datos y huecos que se obviaron o se pasaron por encima.
Lo que se esperaba es una evolución de la arquitectura RDNA 2 con algunas mejoras, pero la realidad es bastante más compleja y ha requerido mayores cambios hasta el punto de que la pipeline de una y otra no son continuistas. Esto es debido a los cambios internos de las unidades mínimas y de un enfoque más hacia lo que han hecho NVIDIA e Intel, aunque con matices por supuesto. Por ello, esta arquitectura es tan interesante, porque además se ha dado el salto a MCM con GCD y MCD, lo cual cambia las reglas del juego.
Arquitectura RDNA 3, un salto de rendimiento por vatio del 54%
Es sin duda el resumen rápido de lo que nos vamos a encontrar. Esta cifra del 54% supera las expectativas de la compañía lanzadas hace más de un año, donde se habló de un 50%, así que el trabajo ha sido más que bueno.
Parte de esta hazaña tiene mucho que ver con los cambios arquitectónicos en cuanto a los dies. Ahora tenemos un sistema MCM con dos tipos de chiplets con datos muy interesantes a tratar, puesto que parte del "bajo" consumo y del "ajustado" precio (comparado con NVIDIA son muy buenos, pero siguen siendo altos frente a la generación precedente) viene precisamente por este cambio.
Así que dicho esto, tiene lógica comenzar desde fuera hacia adentro. ¿Listo? Pues vamos allá.
La primera GPU MCM de la historia para escritorio
Pasar de un die monolítico como sigue teniendo NVIDIA a varios dentro de un mismo package tiene ventajas e inconvenientes. Si consigues solventar o paliar los problemas de este tipo de arquitectura, entonces encontraras una mayor ventaja frente a tus rivales en muchos ámbitos, y podemos decir ahora que AMD lo ha conseguido.
Escalabilidad, trazabilidad, balance y costes, por no hablar de consumos son algunas de las ventajas que tendremos aquí con Navi 31 XTX y Navi 31 XT frente a las versiones anteriores llamadas Navi 21. Entrando en faena podemos decir que tenemos 7 chips en un mismo sustrato de conexión:
- 1 x GCD o Graphics Compute Die.
- 6 x MCD o Memory Cache Die, también conocido como Memory Compute Die, aunque el primer término es el correcto.
¿Qué implica cada uno? Bueno, el GCD es el chip tradicional de toda la vida, el cual alberga en su interior todo el hardware referente a unidades de cómputo, ALU, SIMD, CU y por primera vez, unidades exclusivas para IA en escritorio y la segunda generación de los RT Accelerator, algo que veremos más adelante.
Los datos facilitados por AMD hablan de 300 mm2 en el GCD fabricado este a 5 nm por TSMC, y por otro lado, de 37 mm2 por cada MCD, fabricados estos a 6 nm también por los taiwaneses. Esto quiere decir que el GCD es más denso, bastante más, también más caro por supuesto, más rápido transistor por transistor y además consume menos a igual área, aunque este apartado es un poco controvertido todavía por datos que nos faltan, ya que las frecuencias y la densidad de potencia es distinta entre ambos.
En cualquier caso, el MCD será más barato de fabricar y tiene las mejoras implementadas frente al N7 de TSMC, pero sobre todo, implica que la tasa de fallos en las obleas es menor por ser un proceso ya catalogado como muy maduro por el fabricante, así que se dan muchos más chips hábiles que en el caso del GCD.
El MCD, la gran novedad de la arquitectura RDNA 3
Este MCD integra dos unidades interesantes:
- Un controlador de 64 bits (2 x 32 bits) por MCD.
- La Infinity Cache de segunda generación de AMD con un tamaño de 16 MB por MCD.
Con esta configuración se consiguen dos cosas aparte de reducir costes:
- Modularidad en el diseño a un precio ínfimo -> La RX 7900 XTX tiene los 6 MCD activos, la RX 7900 XT tiene 5 activos, por lo tanto, no se desperdician chips y se pueden construir sin problema en el mismo package, validando más tarde cuál es el MCD a deshabilitar para cada GPU Navi 31.
- El subsistema de memoria se ha ubicado fuera del chip principal GCD.
Al principio se estipuló que el aumento del ancho de banda que vamos a ver más tarde podía paliar el hecho de que la L2 también saliese fuera del GCD, pero no ha sido así. Parece que la latencia es demasiado alta y el diseño se ha mantenido de forma tradicional, salvo que los controladores de memoria ahora se unen a la Infinity Cache, la cual como vemos ha rebajado su tamaño total en el chip Navi 31 XTX con 96 MB por los 128 MB de Navi 21 XTX.
La pregunta más obvia es ¿por qué reducen la Infinity Cache si fue lo más determinante en RDNA 2? Si nos fijamos, han aumentado el tamaño de la interfaz del bus de datos de 256 bits a 384 bits, lo que si unimos la IC nos da en la serie RX 6000 una proporción de 2, mientras que RDNA 3 se duplica. Es decir, hay mucho más ancho de banda por bus que por IC y eso solo puede significar que la L2 se ha aumentado en el GCD y que el acceso a la VRAM va a ser en bloques de datos bastante grandes.
Esto se ve claramente por el aumento del ancho de banda directo entre GCD y MCD, el cual ya comentamos que podría ser de hasta 9 TB/s como máximo y que AMD ha llevado hasta los 5,3 TB/s. Entendemos que es el punto de mayor rendimiento y eficiencia, pero la sorpresa y lo que nadie esperaba es que no usasen Glink-3D. En su defecto AMD ha usado la misma tecnología que en sus gráficas Instinct MI200, es decir, Elevated Fanout Bridge o EFB en su versión 2.5D.
Elevated Fanout Bridge 2.5D, la alternativa al EMIB de Intel
Esta tecnología es la que permite conectar directamente GCD y MCD, pero a diferencia de lo que hace Intel con EMIB, la forma de hacer dicha conexión es más simple, puesto que ambos die no están dentro del sustrato unidos con TSV, la diferencia es que los 7 dies están sobre el sustrato, sobre un interposer de comunicación.
Realmente no es un interposer al uso, porque este tendría que albergar las conexiones internas y por eso se habla de sustrato a modo de pieza de interconexión. Los 7 dies están conectados directamente a este sustrato y este al mismo tiempo conecta con el sustrato matriz, el cual está soldado al PCB con las típicas bumps. Lo que se consigue es ahorrar costes, hacer una interconexión más simple y más lenta sí, pero efectiva y barata. Por eso la velocidad "solo" ha aumentado 2,7 veces frente a lo que puede hacer GLink-3D de GUC.
A este enlace de conexión a través de EFB 2.5D entre GCD y MCD AMD lo llama Infinity Link, y lógicamente hasta dar el salto a GLink-3D (si es que lo dan en algún momento, ya se cuestiona) será el pilar central de las arquitecturas MCM de la compañía. Igualmente, cada MCD se comunicará con el GCD a una velocidad de 883 GB/s, que es más ancho de banda de lo que tenía la RX 6950 XT para ella sola con la GDDR6.
Lo que parece claro es que, con este ancho de banda, con el bus de 384 bits y los 96 MB de IC AMD ha optimizado los algoritmos de trabajo, sean LD en hardware o el administrador de recursos por software en sus drivers, todavía no lo sabemos, puede que incluso las mejoras sean en ambos y por ello, en principio, haya más cache L2, en principio y salvo sorpresa con 6.144 KB frente a los 4.096 KB de Navi 21 XTX (+50%).
La repartición sería en 24 mosaicos de 256 KB, lo que nos daría la anterior cifra de 6 MB de L2 en total.
El GCD, un cambio de estructura que rompe la pipeline y el concepto de RDNA general
Faltan muchos datos por conocer sobre el GCD, pero podemos comentar algunos de ellos, los cuales son importantes y requieren de atención. RDNA 3 como arquitectura comparte similitudes con sus dos hermanas anteriores, pero es disruptiva al mismo tiempo y es una vuelta al pasado de AMD, lo cual es curioso.
Siguiendo el discurso breve que dio AMD en su mismo orden, lo que podemos ver en primer lugar dentro de cada Unified Compute (antes Compute Units o CU, curioso el cambio de nombre y concepto). Los de Lisa Su dividen cada UC en cuatro grandes bloques simplificando todo el concepto del mismo:
- VGPR
- Stream Processors
- AI Accelerator
- RT Accelerator
Estos apartados son solo conceptos básicos que vamos a tratar por separado dadas las novedades de cada uno de ellos.
Vector General Purpose Register (VGPR)
Es un cambio muy importante y al mismo tiempo tiene mucha controversia hasta que se desgrane el asunto (si es que alguna vez lo sabemos) y nos explicamos. La arquitectura RDNA tiene como unidad básica el CU, ahora llamado UC como hemos visto antes, pues bien, cada UC tiene una serie de grupos de ejecución que arrastra con cada mejora de la misma:
- Wavefront (WF)
- SIMD Vector ALU
- Scalar ALU
- Archivos de registro
- La pipeline de la memoria
- La caché L1 de datos para Vectores
- Local Data Share (LDS)
Estos grupos se conectan a tres subsistemas fijos que tienen una parte fundamental en cada UC:
- Scalar Cache
- Instruction Cache
- L2 Data Cache o salida a la DRAM del chip
Pues bien, dentro de todas estas unidades nos vamos a centrar en los archivos de registros, de los cuales hay dos unidades distintas: los Vector RF (VRF) y los Scalar RF (SRF), nos interesan los primeros porque son los que AMD ha potenciado dentro de los VRF.
Cada VRF contenía hasta ahora 512 VGPR repartidos de la siguiente forma:
- 128 KB de VGPR de carga por cada VRF o SIMD Vector ALU
- Cada VGPR estaba distribuido en 4 bancos de SRAM (Banco 0, Banco 1, Banco 2 y Banco 3)
- Se permitía una lectura y una escritura por ciclo y por banco.
Sabiendo esto, ahora entenderemos un poco más el hecho de que AMD haya aumentado un 50% los VGPR en RDNA 3 frente a RDNA 2. La controversia viene sobre el hecho de que las ALU escalares no han sido modificadas en tamaño, así como tampoco sus registros, o al menos no se ha anunciado como tal. La pregunta vuelve a ser, ¿por qué AMD hace esto? Pues de nuevo tenemos que comprender nuevas mejoras que implican estos cambios y hacia donde apuntan los de Lisa Su.
- Se necesita un grado impresionante de paralelización con varios hilos en los UC.
- AMD usa un gran paralelismo para no generar una gran latencia dentro de cada UC.
- Los desarrolladores trabajan con instrucciones únicas para poder lograr la paralelización con Subprocesos en las SIMD.
- Se necesitan unos archivos de registro (RF) de mayor tamaño que las cachés de datos para lograr que la arquitectura balancee las cargas y las resuelva a tiempo.
Comprendido todo esto con los VGPR y su incremento, ahora entenderemos el segundo apartado que nombró AMD en su presentación y que corresponde con lo que ha denominado como "Dual issue SIMD units" o Unidades SIMD de doble "Emisión", también traducido como de doble extensión.
En cuanto a los ROP, también importantes en este apartado, parece que seguirán con 32 unidades por Shader Engine, lo que nos daría un recuento de 192 en Navi 31 XTX.
Dual Issue Stream Processors
Doblar los VGPR y no los escalares es necesario para que las SIMD de nueva factura con 64 SP pueden trabajar con una segunda instrucción cuando tanto hardware como software pueden extraer de la pipeline otra a resolver. Es decir, se multiplica por dos el nivel de instrucciones por ciclo que pueden ser trabajadas, lo que se conoce dentro de las arquitecturas de GPU y CPU como Instruction-level Parallelism o ILP por sus siglas.
Las instrucciones que pueden ser paralelizadas son las ya conocidas como Enteros (Integer) o Flotantes (Floating) y por eso se necesita tanto el cambio a nivel de hardware como estamos viendo en RDNA 3, así como un nuevo driver, que sería la parte de software que comentábamos antes.
Al igual que ocurre en una CPU con sus núcleos e hilos o incluso con las GPU NVIDIA, si el Dispatch no puede extraer una instrucción de la pipeline para que el Administrador de tareas interno la envíe a un SP para ser trabajada, lo que tenemos es un vacío de rendimiento, donde tener el doble de unidades SP no sirve absolutamente de nada.
Por ello y enlazando con el apartado anterior, el hecho de que AMD aumente los VGPR un 50% es para conseguir que esa paralización se produzca en el mayor porcentaje posible, pero no siempre se va a conseguir y el mejor dato que respalda esto lo dio la propia AMD. Hay que tener en cuenta que esto ya se hacía con las arquitecturas GNC y que se desechó con la primera y segunda generación de RDNA, pero para esta tercera ha vuelto intentando aprovechar los cambios descritos hasta ahora.
Si cogemos los datos que facilitó el equipo rojo, veremos que los 64 Stream Processors pueden trabajar de forma flexible con FP, Integer y operaciones de IA, logrando multiplicar sobre el papel el rendimiento de la RX 7900 XTX frente a la RX 6950 XT en hasta 2,6 veces para FP32.
Pero por otra parte se mostró que el rendimiento real era de "solo" 1,7 veces. Esto significa que hay mucho camino por recorrer en RDNA 4, porque se pierde aproximadamente un 35% de paralelización en las instrucciones extraídas de la pipeline a trabajar, lo que significa también menor eficiencia energética del chip.
Dos AI Accelerator por CU/UC
No hay muchos detalles aquí por un motivo simple: AMD no ha explicado en profundidad el funcionamiento de FSR 3, solo ha mostrado el rendimiento. Lógicamente no hay que ser ingeniero para entender que estas dos unidades AI Accelerator suponen un incremento superlativo en cuanto a Deep Learning y Super Sampling que solo afectará a la versión 3 de su software de escalado.
Por ello, los datos ofrecidos desde AMD hablan de nuevas instrucciones de Inteligencia Artificial, y un mejor Throughput de funcionamiento. No se dice, pero es de esperar que al igual que ocurre en NVIDIA (al final comparten API de Ray Tracing y general gracias a Microsoft con DX12 Ultimate) es de esperar que los AI Accelerator trabajen con instrucciones de enteros y punto flotante como INT8 y FP16.
De ahí que AMD hable de esas nuevas instrucciones. Al igual que ocurre en NVIDIA con DLSS 3 y las RTX 40, las RX 7000 solo serán compatibles con FSR 3 porque AMD ha interpretado el trabajo de NVIDIA a su manera y ha visto que el camino del escalado no puede estar sujeto a los Shaders por fuerza bruta, como tampoco puede estarlo la resolución de los BVH para Ray Tracing. Así que incluir dos unidades por CU es una opción más que válida para aumentar el rendimiento hasta 2,7 veces según la propia compañía. Hasta que no desvelen más información no podemos comentar nada más, así que pasemos al siguiente apartado que trata del Ray Tracing.
2 Gen RT Accelerator para la arquitectura RDNA 3
Donde más flojeaba AMD era precisamente en el rendimiento en Ray Tracing. Aquí se ponen más o menos al día, pero NVIDIA parece que les seguirá llevando ventaja, pero la distancia es menor. La principal novedad es que hay nuevas instrucciones dedicadas para el cálculo y resolución de los BVH, así como nuevas funciones para los Ray Box en cuanto a clasificación y transversalidad en su resolución.
Gracias a esto AMD asegura que se pueden manejar 1,5 veces más rayos "in flight". Esto le permite a cada unidad lograr un 50% más de rendimiento dentro de cada CU/UC, lo que unido a FSR 3 dan resultados bastante interesantes, porque los porcentajes van desde un +47% hasta un +84%.
Lo difícil en este caso es separar "el grano de la paja" puesto que no sabemos exactamente cuánta mejora corresponde a los RT Accelerator y cuanta viene por parte del software con FSR 3, y es posible que si AMD no lo dice nunca lo sepamos a ciencia cierta.
AMD Radiance Display Engine
Apenas hay novedad en este apartado dentro del GCD y la arquitectura RDNA 3, puesto que ya lo tratamos en artículos independientes. Como vimos, AMD será la primera en admitir DisplayPort 2.1, que a su vez ha engullido literalmente hablando a la versión 2.0, así que básicamente son lo mismo y la novedad como tal queda menos lucida realmente.
Esto nos dejará un ancho de banda de hasta 54 Gbps, lo cual no será suficiente si tenemos en cuenta que AMD habla de resoluciones 8K con hasta 165 Hz o 4K a 480 Hz. Lo más interesante, aunque en gaming no lo veremos hasta dentro de muchos años, es el hecho de que la compañía ofrece 12 bits por canal de color, o lo que es igual, hasta 68 billones de colores posibles que, si el panel acompaña, podrán ser representados ante nuestros ojos.
Dual Media Engine en la arquitectura RDNA 3
Son una mejora dentro del GCD, una actualización que era necesaria para muchos usuarios. Tres mejoras claras y concisas por parte de AMD en su arquitectura RDNA 3:
- Encode y decode con AVC y HEVC de forma simultánea.
- Encode y Decode con AV1 en 8K a 60 FPS.
- Mejoras con IA para Encode Vídeo.
Esto permite que el rendimiento general del motor de medios haya ascendido hasta un +80%, una auténtica barbaridad que muchos sabrán sacarle provecho.
Resumen general de la arquitectura RDNA 3 de AMD
El resumen que nos hace la compañía de Lisa Su es breve, pero interesante. Hay que recordar que la frecuencia se ha aumentado un 15%, en concreto en 200 MHz, donde además se ahorra un 25% de energía frente a los 2,3 GHz de las RX 6000. Esto lógicamente es posible por el nodo de TSMC N5 y en parte por las mejoras que hemos visto hasta ahora.
Por otra parte, el ancho de banda interno se ha aumentado en 2,7 veces logrando un rendimiento general en FP32 de 61 TFLOPS, pero como sabemos esta cifra solo es comparativa a misma arquitectura y no es extrapolable contra NVIDIA o Intel.
En cuanto a los CU/UC, AMD ha introducido dos instrucciones por clock Shader, mejoras en Ray Tracing y mejoras en IA, por lo que el rendimiento en todos los aspectos mejorará bastante y las primeras estimaciones indican que están realmente cerca de NVIDIA y su RTX 4090. Por último y para finalizar este artículo de la arquitectura RDNA 3 de AMD, tenemos un nuevo motor de Display y Media, con DisplayPort 2.1 preparado para 4K y 8K, para dar al jugador más pudiente un rendimiento y soporte de primer nivel.