AMD publica las novedades de las GPU para la PS5 Pro y Strix Point bajo la arquitectura RDNA 3.5, ¿qué mejoras incluyen frente a RDNA 3?

La presentación por parte de Sony con su PS5 Pro dejó como principal novedad la nueva GPU, que aunque no estuvo especificado como tal, integra la nueva arquitectura RDNA 3.5, la cual comparte con Strix Point como microarquitectura para APU. La evolución de RDNA 3 incluye una serie de novedades, una serie de mejoras muy concretas que merece la pena comentar con esta nueva RDNA 3.5, y así comprender el buen rendimiento de la Radeon 890M y qué podrá ofrecer PS5 Pro en gaming.

El salto es bastante importante entre la PS5 y PS5 Pro, porque aunque comparten arquitectura para CPU, en GPU hay varios pasos adelante. Pero antes de explicarlos, tenemos que ver cuánto ha mejorado AMD para haber lanzado dos productos con un salto intermedio y no directamente con la nueva RDNA 4, la cual cambiará el juego, sobre todo en Ray Tracing.

AMD RDNA 3.5, novedades de la arquitectura para la GPU de Strix Point y PS5 Pro

AMD-RDNA-3.5-mejoras

Son cuatro puntos, cuatro novedades muy interesantes que hemos desgranado para vosotros desde el set de instrucciones publicado por AMD para RDNA 3.5, así que vamos a ello:

  • Instrucciones WMMA (Wave Matrix Multiply-Accumulate) mejoradas: Aunque ambas arquitecturas soportan instrucciones WMMA para realizar operaciones comunes de matrices (multiplicación, paralelización y precisión) RDNA 3.5 incluye mejoras adicionales en la codificación de estas instrucciones usando el formato VOP3P, lo que permite optimizar las operaciones de matrices y mejorar la eficiencia en cálculos paralelos en las GPU que la incorporen, como PS5 Pro y Strix Point.WMMA-RDNA-3.5-cruce-de-matrices-en-VGPR-y-Wave32

Siendo un poco específicos y sin entrar en todos los detalles de VOP3P, este formato permite algo curioso: realizar una o varias operaciones de FP o INT al mismo tiempo en los VGPR. Esto se consigue con una codificación específica a base de dos o más operaciones simultáneas, y es extremadamente útil en FP16 e INT8. En definitiva, mejora tanto en el cálculo de las matrices para gaming, como para IA o DL.

  • Nuevas opciones de iniciación de estado para las Shader Wave: La segunda novedad incorpora configuraciones adicionales para la inicialización de registros VGPR y SGPR, así como para la memoria LDS (Local Data Share) utilizada por las Waves para los Shaders.AMD RDNA 2 vs RDNA 3, Navi 31 vs Navi 32 vs Navi 33

Esto permite un manejo más flexible de los datos preinicializados en los shaders, especialmente en el caso de los píxeles.En otras palabras, las nuevas opciones mejoran el estado de las Waves, ya que en las arquitecturas RDNA se necesita una configuración previa antes de la ejecución muy optimizada.

AMD-RDNA-3-y-RDNA-3.5-diagrama-de-bloques

Gracias a esto, ahora los desarrolladores pueden configurar con mayor precisión qué registros se deben preiniciar para que el flujo de las Waves sepa qué ejecuciones se tienen que proceder y en qué orden en el Shader. Además, en principio, esto debería mejorar el acceso a la memoria global al reducir el número de ellos, es decir, menos accesos a memoria es igual a más rendimiento, aunque no sabemos cuánto realmente.

  • Ray Tracing mejorado con dos nuevas instrucciones: En RDNA 3.5, hay un enfoque más optimizado en las instrucciones relacionadas con el trazado de rayos (Ray Tracing), especialmente con respecto a la administración de las estructuras de datos BVH y el uso de registros VGPR más eficientes, muy ligado con lo anterior que acabamos de comentar.Esto ayuda a mejorar la velocidad y eficiencia en las pruebas de intersección de rayos, algo que ya vimos en otro artículo con las dos ISA de nueva factura (IMAGE_BVH_INTERSECT_RAY e IMAGE_BVH64_INTERSECT_RAY) que veremos también en RDNA 4, salvo que ahí con muchos más cambios.

AMD-RDNA-3.5-mejoras-en-Ray-Tracing-imagen-BVH-Intersect-Ray-con-VGPR-y-SGPR

Lo único que debemos de entender es que ambas instrucciones reciben datos de los VGPR y el fetch BVH desde la memoria y su rendimiento es de 4 Ray/Box, es decir, 4 intersecciones, donde además ordenan los elementos según la distancia de intersección y devuelven tanto los punteros como el estado del impacto de cada rayo.

En cambio, el rendimiento de los nodos triangulares es de 1 rayo por triángulo en las pruebas de intersección, devolviendo el punto y el identificador de dicho triángulo. Resumiendo y simplificando, se mejora la intersección de los rayos, además, haciendo el proceso más eficiente.

AMD-RDNA-3.5-Data-Parallel-Processing-DPP

  • Una mayor flexibilidad en operaciones DPP: AMD ha mejorado la operación de procesamiento paralelo de datos (Data-Parallel Processor), agregando soporte para DPP8 y DPP8FI, lo que permite una mayor flexibilidad en la manipulación de datos dentro de grupos de 8 hilos (lanes).

Por supuesto, DPP puede ser usada con VOP3P, aunque solo con dos Opcodes. Por último, aclarar que DPP8FI hace referencia a Fetch-Invalid, y AMD los distingue de manera que DPP8 lee las lanes cero, mientras que DPP8FI recupera los datos desde las lanes en lugar del valor cero. Para simplificarlo, el nuevo soporte permite la paralelización en grupos de 8 hilos, lo que logra funcionar con operaciones con la mitad de hilos disponibles que antes, mejorando el rendimiento comentado de los VGPR.

Pequeñas mejoras de rendimiento y optimizaciones que marcan diferencias en la jerarquía de la memoria

AMD-RDNA-3.5-jerarquía-de-memoria-compartida-set-de-instrucciones

En definitiva, se ha mejorado las instrucciones WMMA con el formato VOP3P, la preiniciación de los registros en VGPR y SGPR, dos ISA de nueva factura para mejorar eficiencia y velocidad en Ray Tracing, así como los cálculos de los BVH y el añadido de soporte para dos nuevas operaciones DPP.

Como todavía no tenemos datos de PS5 Pro, y sabiendo que venimos en las consolas de Sony desde RDNA 2, solo podemos esperar un gran salto de rendimiento, sobre todo en Ray Tracing, curiosamente. Pero no podemos quitar la mirada desde el apartado de la memoria. Tanto LDS (Local Data Share) como GDS (Global Data Share) deben de sufrir un pequeño salto adelante.

RDNA 3.5 tiene 128 kB de memoria LDS por cada WGP, mientras que usa 4 kB en GDS a rango de 128 bytes por ciclo. Por tanto, todo lo visto debería ayudar a que con estos tamaños tan compactos se deje sentir dicho aumento de rendimiento. Hay que tener en cuenta que este "Refresh" está orientado a paliar el déficit que tienen tanto las APU Strix Point como la PS5 Pro en sus GPU, así que estas mejoras en RDNA 3.5 van a ser claves por las limitaciones que integran en sus respectivas plataformas.

AMD-RDNA-3.5-parámetros-en-LDS

Enfocándolo desde el punto de vista de PS5 Pro, en rasterización tendremos al menos un 45% de mejora, porcentaje que debería subir si incluimos dicho Ray Tracing en la ecuación. Sabiendo que se tiene 13,7 GB disponibles de memoria para la GPU, estas mejoras son claves por lo dicho.

En cuanto a Strix Point, como los datos de rendimiento son accesibles y ya se han visto comparativas de todo tipo, no vamos a incidir en mejoras varias, puesto que el salto de FPS es apreciable al comparar la Radeon 780M contra la 890M.

Si con solo 4 mejoras AMD ha dado un paso adelante claro, solo podemos frotarnos las manos con RDNA 4, que tendrá un Ray Tracing completamente nuevo desde cero, y eso implicará cambios en los WGP y CU muy importantes que ya desgranaremos en su momento cuando AMD publique sus novedades, pero de momento, ya tenemos las de RDNA 3.5.