¿Cuál es la arquitectura de la GPU de PS5 Pro? (versión actualizada)

 en Una de las cosas que más se han repetido en los últimos días por parte de influencers y en medios especializados en videojuegos es afirmar que hay una GPU con arquitectura RDNA 3 en PS5 Pro. No obstante, dicha afirmación es una falsedad producto de la desinformación y en este artículo lo vamos a demostrar. ¿Cuál es la verdad de la GPU de PS5 Pro?

Nota: A día 18 de diciembre de 2024, Mark Cerny ha realizado una presentación de 37 minutos donde ha dado detalles del hardware de la consola. Es por ello que hemos decidido hacer una nueva versión de este artículo, añadiendo la nueva información. Para ello, no hemos recortado nada de información sobre el artículo original, solo le hemos añadido la nueva información, y se puede decir que sobre lo poco que sabíamos, la acertamos al 100%. Para las secciones nuevas hemos añadido un * al inicio de cada titular.

Arquitectura versus ISA

Una de las cosas más confusas a la hora de hablar de una GPU es la confusión entre ISA y arquitectura. Lo primero indica las instrucciones que entiende y puede ejecutar la GPU, lo segundo es la organización de los diferentes bloques de hardware. En las CPU, dicha diferencia es más fácil de entender. Por ejemplo, un Cortex A78 hace referencia a una arquitectura de CPU, pero la ISA es ARM. En cambio, en las GPU la ISA y la arquitectura son lo mismo.

Portada PS5 Pro

Esto se hace por el hecho de que en PC los shaders se entregan en los juegos sin compilar. Esto les permite a los fabricantes añadir y quitar instrucciones para optimizar el rendimiento. Sin embargo, y como veremos más adelante, esto no es así en el caso de las consolas, sobre todo de cara a la compatibilidad hacia atrás. Ahora bien, la pregunta clave es: ¿Qué arquitectura e ISA es la GPU de PS5 Pro? Por un lado, tenemos que el vídeo de Mark Cerny se habla de que PS5 tiene arquitectura RDNA 2 en su GPU; sin embargo, la organización de la de PS5 Pro es distinta y tiene ciertos cambios profundos en ciertas partes de la arquitectura mientras mantiene la compatibilidad hacia atrás.

Todo ello se traduce en que PS5 Pro tiene su propia arquitectura de GPU, la cual podríamos llamarla RDNA 2++ y se trata de una iteración propia. Sin embargo, por las redes hemos podido leer a varios medios e influencers hablar de que existe una GPU RDNA 3 en PS5 Pro. Es por ello que en este artículo argumentaremos en contra de ello, no con el afán de tener la razón, sino como un ejercicio para descubrir las entrañas de la nueva consola de Sony.

33 versus 16 TFLOPS en RDNA 3 ¿y PS5 Pro?

Por lo que, todo el argumento y polémica acerca de la arquitectura la nueva consola no se refiere a que tengamos una GPU RDNA 3 en PS5 Pro o no, sino más bien para hablar si esta alcanza los 16 o 33 TFLOPS. Dado que se cree que, por ser RDNA 3, la nueva consola de Sony alcanzará una cifra más alta. No obstante, esta capacidad de poder duplicar la cantidad de operaciones por ciclo solamente se da en las instrucciones VOPD, las cuales se encuentran documentadas en la página 360 de la documentación de la ISA de RDNA 3, por lo que no todas las instrucciones funcionan el doble de rápidas.

PS5 Pro GPU RDNA 2 (67%) más grande

Hay que recordar que los TFLOPS son una tasa de velocidad, al igual que ocurre con un coche. Por mucho que el vehículo alcance los 400 km por hora, no irá todo el rato a dicha velocidad. Con los microprocesadores ocurre lo mismo, la tasa de operaciones depende de cada instrucción. Dicho de otra forma, pensar que se alcanzará siempre la potencia de 33 TFLOPS en PS5 Pro es ser bastante ingenuo, es más, hay una serie de motivos que hacen que este hecho no ocurra casi nunca.

Limitaciones en el VOPD

Las instrucciones VOPD en RDNA 3 no están limitadas a ciertas instrucciones, sino a que se cumplan ciertas condiciones especiales. Hemos de partir del hecho que cada Compute Unit puede operar de dos formas distintas

  • En el modo WAVE32, que es el propio de las arquitecturas RDNA las instrucciones se agrupan en bloques de 32 operandos, lo que permite solucionar una ola en un ciclo bajo las instrucciones más rápidas, ya que se procesan en unidades SIMD32.
  • El otro modo es el llamado WAVE64, donde las olas son de 64  operandos, pero las unidades SIMD se subdividen en unidades SIMD16, provocando que la instrucción más rápida tarde 4 ciclos en solventarse. Este último es el modo que usan los juegos de PS4 y PS4 Pro.
RDNA tarjeta gráfica

En cuanto al soporte de instrucciones VOPD, este solo se da en el modo WAVE32, ya que el modo WAVE64 no soporta dichas instrucciones. Por lo que dependiendo del modo usado en un juego, este puede acceder al doble de potencia en ciertas instrucciones o no. Todo ello nos lleva el problema de la compatibilidad, en todo caso no es nada que no se pueda solucionar con el correspondiente parche, pero al mismo tiempo esto invalida todas las pruebas de rendimiento realizadas con juegos de PS5 en su versión mejorada en el caso de  que haya una GPU con arquitectura RDNA 3 en PS5 Pro, ya que no pueden usar la potencia extra al no haber sido actualizados.

Alta dependencia del compilador

El otro problema es que la generación de instrucciones VOPD es que depende de si el compilador es capaz de detectarlas en el código y si se dan la circunstancias adecuadas para ello, es decir, si hay operandos libres en las ALU y los registros se encuentran disponibles. Vamos, que conseguir el ratio del doble de TFLOPS es casi una lotería, de ahí a que en la mayoría de pruebas de rendimiento comparativo entre RDNA de segunda y tercera generación apenas hay diferencias. Por lo que incluso si tuviésemos una GPU RDNA 3 en PS5 Pro, es muy difícil obtener ese ratio.

Ventaja de RDNA 3 sobre RDNA 2 Sin RT Ray Tracing con bajo nivel de detalleRay Tracing al máximo
Cyberpunk 2077+10 %+16 %+ 23 %
Dying Light0 %+9 %+ 8 %
F1 22+ 1 %+3 %+ 13 %
Hogwarts Legacy+ 1 %+1 %+ 7 %
Metro Exodus+2 %+ 14 %
Returnal+ 9 %+ 20 %+ 22 %
Spider-Man: Miles Morales+ 12 %+ 11 %+ 12 %
The Callisto Protocol+ 7 %+ 1 %+ 7 %
The Witcher 3– 3 %+ 7 %+ 8 %

Por lo que alcanzar los 33 TFLOPS es algo que ocurre muy poco y funciona tan bien como un reloj estropeado. Esto se puede ver en varias pruebas de rendimiento, donde la diferencia en lo que a rendimiento entre dos GPU con el mismo número de núcleos y velocidad de reloj, pero una siendo RDNA 2 y la otra RDNA 3 es mínima. Tal y como se puede observar, es con el uso de Ray Tracing que el rendimiento de RDNA 3 es superior al de RDNA 2, sin embargo, esto no tiene nada que ver con el VOPD, sino con la implementación de una unidad de Ray Tracing mejorada en dicha arquitectura.

Compatibilidad hacia atrás en PS5 Pro

No todo el mundo tiene el mismo ordenador, mientras que todo el mundo tiene la misma consola si hablamos en términos de hardware. Debido a que los programadores en PC no saben qué hardware tendrá el usuario, pues lanzan los programas que ha de ejecutar la GPU, los llamados shaders, en lenguaje de alto nivel, sin compilar.

En consolas este proceso no tiene sentido, ya que el hardware, al ser el mismo, no es necesario realizar la compilación, ya que sería una pérdida de tiempo hacerlo, además, se ha convertido en uno de los problemas del PC, provocando problemas de rendimiento en los juegos mientras se realiza la compilación de shaders en los videojuegos. Por supuesto, y como habréis concluido, hacer esto en una consola de videojuegos donde todo el mundo usa el mismo hardware es una estupidez.

Pero, ¿qué ocurre cuando hablamos de una versión potenciada de una consola ya existente que ha de reproducir los juegos sin problemas? Pues que, al no haber compilación de shaders, se ha de mantener el set de instrucciones original, el cual, en el caso de PS5 Pro para mantener la compatibilidad con PS5, este ha de mantener el set de instrucciones RDNA 2 como base, y expandirlo con tal de añadir las nuevas funcionalidades sin tener problemas a la hora de ejecutar los títulos ya existentes.

*Mark Cerny confirma que los núcleos de la GPU no son RDNA 3

Al final, nuestra sospechas se han visto confirmadas de la mano del propio arquitecto de la consola. El set de instrucciones del procesador gráfico sigue siendo RDNA 2, en concreto una versión extendida del mismo, el cual añade nuevas instrucciones, especialmente para el Deep Learning, pero sobre ese punto en concreto ya hablaremos más adelante en este mismo artículo. En cualquier caso, lo primero que hace es confirmar que el binario de los shaders compilado para RDNA 3 no sería compatible en la GPU de PS5 Pro.

Las palabras de Cerny sobre el tema son las siguientes:

Por ejemplo, los juegos tienen algo llamado programas Shader que se ejecutan en la GPU de un juego. Puede haber más de 100,000 de ellos. Si adoptamos RDNA 3 Technologies hasta el punto de que el código compilado para ejecutarse en PS5 Pro no se ejecutaría en PS5, eso significaría crear dos versiones de cada pieza de código ejecutable: una para PS5 y otra para PS5 Pro, lo que es una complicación enorme para el paquete del juego.

Necesita ser parcheado para incluir esa segunda versión y luego el juego necesita cargar selectivamente solo la versión apropiada o encontrar espacio para ambas versiones en la memoria del sistema. Es una gran carga para los desarrolladores. En consecuencia, PS5 Pro usa una versión de RDNA que estoy llamando RDNA 2.x, que incorpora una serie de características de RDNA 3, pero nada que pueda causar ese grado de complicaciones.

Por lo que nos queda confirmado a través de una fuente primaria que las Compute Units no son RDNA 3.

Ciertas unidades de función de la GPU de PS5 Pro son RDNA 3

Eso sí, hemos de considerar que la GPU de PS5 Pro sí que tiene algunas partes que se han adoptado de RDNA 3, pero no son las Compute Units, sino una unidad de función fija concreta, la llamada Geometry Engine, en concreto, Cerny ha dejado caer lo siguiente:

Por ejemplo, los aspectos del procesamiento de vértices y primitivos son más rápidos en PS5 Pro; eso se debe a la incorporación de partes de la geometría de RDNA 3, que son potentes, pero triviales para que el juego los adopte o mejor aún, invisibles para el programa del juego.

Son invisibles por el hecho de que no se ejecutan en los núcleos de la GPU, sino en el Geometry Processor (llamado Geometry Engine por Sony), que se encuentra en la parte central de la GPU junto a los procesadores de comandos, las mejoras de ambas partes en RDNA 3 han sido adoptadas por Sony en su nueva consola al no entrar en conflicto con el código ya existente. Sin embargo, no es la única unidad de función fija que habría sido adaptada de RDNA 3, como es el caso del propio procesador de comandos o los ROPS.

¿Y cuáles son las mejoras?

  • El nuevo procesador de comandos soporta Multidraw Indirect.
  • En cuanto al Geometry Processor ahora puede descartar el doble de primitivas no visibles en la misma cantidad de tiempo.
  • Las unidades de rasterizado y los ROPS en PS5 no soportaban Variable Rate Shading, ahora sí que lo hacen. No obstante, la mejora más importante es OREO (Opaque Random Export Order) que permite a los ROPS procesar los píxeles exportados por los núcleos de la GPU fuera de orden para luego escribirlos ordenados sobre el búfer de imagen.

*Mark Cerny desmiente lo de los 33 TFLOPS

Y lo ha hecho en el propio vídeo, en una sección que ha titulado como FLOPFLATION, el cual es obviamente un juego de palabras con la palabra inflación. He de comentar que, sin ánimo de mencionar a nadie y no querer llegar a peleas personales, mucha gente ha afirmado tener documentos que avalan lo de los 33 TFLOPS y que incluso nos hicieron llegar supuestos documentos del SDK donde se menciona dicha cifra.

Sus palabras exactas son las siguientes:

Una cosa que me gustaría aclarar es el número erróneo de 33,5 TeraFLOPS que ha estado circulando para PS5 Pro. Ese número no está en ninguna parte. Nuestros documentos para desarrolladores provienen de un malentendido por parte de alguien que comentó sobre información técnica filtrada de PS5 Pro. Parte de la confusión proviene de que las arquitecturas RDNA 3 tienen el doble de FLOPS que las arquitecturas RDNA2

Por lo que queda confirmado por parte de una fuente primaria que la GPU de PS5 Pro no tiene una potencia de cálculo de 33.5 TFLOPS, lo cual es lo que comentamos nosotros en el artículo original.

Las unidades de Ray Tracing en RDNA 3 y PS5 Pro

Las unidades Ray Tracing en la GPU de PS5 Pro son las mismas que se pueden ver en RDNA 4, no obstante, no se beneficia de las mejoras del resto de la arquitectura RDNA 4 que sirven también para mejorar el trazado de rayos. Por lo que os recomendamos leer el artículo actualizado a Julio de 2024 donde explicamos las mejoras de la Ray Accelerator Unit. Aunque de cara a la consola hablamos de una mejora mucho más alta que en el PC, ya que ya no carga sobre las unidades SIMD el trabajo de recorrer el árbol BVH, lo cual supone otra ventaja, aunque esta no es cuantificable.

 

Todo ello se traduce en que los juegos que utilicen Ray Tracing en PS5 Pro y quieran mejorar el rendimiento a la máxima capacidad deberán reescribir el código para usar la capacidad de recorrer la estructura de datos. Algo que no sabemos si lo harán muchos juegos en realidad. En todo caso se trata de una mejora que es bienvenida desde el momento en que el rendimiento en Ray Tracing en el modelo estándar de PS5 es cuanto menos decepcionante, al igual que en su rival, la Xbox Series X.

Las mejoras para la IA en PS5 Pro

Uno de los puntos fuertes de PS5 Pro es el PlayStation Spectral Super Resolution o PSSR, un algoritmo de superresolución que permite hacer que los juegos a Full HD en modo calidad puedan mostrarse a 4K sin tener que cuadriplicar el ancho de banda y la potencia computacional. Para ello, Sony ha implementado una versión muy reducida, pero eficiente del set de instrucciones WMMA de RDNA 4, pero sin tocar el resto de instrucciones de la ISA, las cuales siguen estando intactas respecto a RDNA 2 para como hemos dicho anteriormente en el artículo evitar incompatibilidades con los juegos ya lanzados en PS5.

Cerny Amethyst

Esto significa que las unidades SIMD en los núcleos de GPU de PS5 Pro tienen la operand reuse cache de RDNA 3 y RDNA 4, pero no se utiliza fuera de las instrucciones WMMA para el PSSR. Si bien una segunda versión del algoritmo de aumento de resolución automática de PlayStation se espera para 2026, la versión inicial carece de elementos como la generación de frames automática. En todo caso, hay que aclarar que no hablamos de una variante del FSR de AMD, sino de un algoritmo de Deep Learning creado internamente en Sony con la colaboración de AMD, cuya evolución tanto en el sistema como en futuros proyectos se engloba dentro del llamado Project Amethyst.

Por lo que al contrario de lo que dijimos en su día y como corrección, hemos de aclarar que la GPU de PS5 Pro no tiene una unidad del tipo Tensor o Array Sistólico y se trata más bien de que el cálculo se realiza desde las unidades SIMD, aunque en este caso todo esta centrado en la ejecución del PSSR, el cual se beneficia de dichas instrucciones. Ahora bien, para entender mejor cómo funciona en concreto el PSSR hemos de entender una serie de conceptos previos 

¿Cómo funciona?

El PSSR se basa en un algoritmo clásico de superresolución llamado Pixel Shuffle, para entenderlo hemos de ver una imagen como una matrix o tensor. Pues bien lo que hace es convertir dicho tensor de baja resolución (píxeles) y alta profundidad (canales) en una imagen de alta resolución y de menor profundidad.

Pixel Shuffle

Es decir, reorganiza los canales e dimensiones espaciales. Hemos de partir de hecho de que en visión por computadora y redes convolucionales, los canales pueden representar:

  • Canales de color (como RGB o RGBA) — típicamente en la entrada o salida final de una red.
  • Características abstractas («features») — en las capas intermedias de la red.

Para la red neuronal, tanto los colores como el resto de las características abstractas no son más que eso, capas de datos. Lo normal es que el número de canales que se pueda obtener de una imagen siga la formula C × r², donde C es el número deseado de canales de salida. En el caso de PS5 Pro son 4, ya que los canales de salida son RGBA con una precisión de 8 bits cada uno y la R es el factor de aumento de resolución. No obstante, se pueden añadir más canales si el desarrollador quiere o de cara a una futura iteración del algoritmo.

Convoluciones

Una convolución no es más que la aplicación de un filtro de determinado tamaño en píxeles (en el caso de PS5 Pro es de 3×3) sobre una imagen de entrada o un canal de características. Para ello cada elemento del filtro se multiplica por el valor correspondiente en la región de la imagen y luego se suman los resultados para producir un único valor en el mapa de salida. Para lo cual es necesario, y para realizarse a la suficiente velocidad el uso de las instrucciones WMMA en las unidades SIMD.

PSSR PS5 Pro

Nos encontramos con que:

  • El filtro tiene 9 elementos (3×3 = 9).
  • Por cada elemento:
    • Se realiza 1 multiplicación (el valor del pixel por el valor del píxel correspondiente).
    • Los resultados de las 9 multiplicaciones se suman, lo que requiere 8 sumas (n-1 sumas para n elementos)

No obstante, esta operación se realiza 4 veces, uno por cada componente RGBA, cada unidad SIMD dentro de las Compute Units se encarga de manejar la convolución de 2 canales distintos, por lo que una sola Compute Unit se encarga de una región de 3×3 píxeles en la imagen, para convertirla en una de 9×9 píxeles.

PSSR carece de modos de calidad

En PC es típico que algoritmos como el DLSS o el FSR se puedan usar en diferentes modos de calidad, en los que cuanto menor es la diferencia entre la imagen generada por la GPU y la escalada por el algoritmo de superresolución mejor calidad de imagen se obtiene. Esto significa que la resolución de renderizado interno es fija y no variable, lo cual se lleva muy mal con los juegos que van fluctuando su resolución para obtener una tasa de frames constante, los cuales son comunes en consolas.

En el PSSR de PS5 Pro no existen los modos de calidad, simplemente el algoritmo va variando sus niveles de calidad a medida que fluctúa la resolución en en el juego. Es decir, en PSSR no hay modos calidad, rendimiento, fidelidad, sino un solo modo como ocurre con el DLSS y el FSR, sino un solo modo universal. Por lo que la calidad de imagen de todos los frames de la escena no será igual, ya que cuanto mayor sea la diferencia, más artefactos de imagen se verán en esa parte.

5 1 vote
Article Rating
Subscribe
Notify of
guest

1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
DrMalatraca
DrMalatraca
14 hours ago

Gracias por la explicación. Queda claro que el salto tecnológico , no ha sido tan grande de PS5 a PS5 pro , como nos han querido vender.

1
0
Would love your thoughts, please comment.x
()
x