No tenía pensado hacer esto y sinceramente cuando he visto las últimas «noticias» me he puesto en modo…

Por lo visto el chip Ariel/Gonzalo que supuestamente es uno de los SoC (chip principal) de la siguiente generación de consolas, sigue dando noticias a través de su filtrador, de nick TUM_APISAK.

Lo primero que nos dice Apisak respecto a las diferencias del código de la GPU respecto a la versión que se filtro a principios de año (13E9) y la actual (13F8) es que en el último caso podría ser el modelo para los devkits. Apisak utiliza la palabra «guess» que es supongo, es decir, no sabe la diferencia entre ambos modelos del SoC.

Por otro lado, respecto a los resultados del benchmark, no sabemos de entrada en que condiciones se ha hecho dicha comparativa, pero lo habitual es testear los chips futuros en un entorno controlado basado en Linux incluidos los futuros para consola a nivel de laboratorio. Es decir, estos tests no están sacados de ningún kit de desarrollo y hemos de tener en cuenta que las últimas noticias que teníamos de Ariel/Gonzalo es que este se encontraba en Qualification Sample, que es la etapa anterior a hacer la producción en masa, esto lo sabemos por el código.

La versión final del chip va a poner DG… Ahora bien, si os preguntáis como es que estando en modo QS ya vemos los chips siendo montados en el video de Scarlett en este E3, dejadme decir que en los chips semi-custom la participación en los tests de calidad es realizada también por el socio de AMD al mismo tiempo ya que el sistema suele tener piezas a medida y dado que una consola es un entorno controlado han de empezar a adaptar las herramientas desde PS4 y/o Xbox One, actualizar las que estén desfasadas… Aunque dado la compatibilidad hacía atrás no me extrañaría que tuviesen los entornos de PS4 y/o Xbox One ejecutandose en el chip en modo QS, pero el benchmark de APISAK ha de haber salido de AMD porque las pruebas internas de Sony y Microsoft no salen.

Ahora bien, vayamos a lo que nos interesa. Un salto en el resultado de 5.000 a 20.000 en el benchmark nos puede dar a entender que es un salto de 4X en cuanto a potencia. Por lo que se comenta el benchmark vendría a ser el Firestrike en su versión para DirectX 11, lo cual es extraño y aparte que hemos de tener en cuenta que este no solo mide el rendimiento de la GPU a secas sino del entorno entero por lo que aquí entra en consideración la CPU también porque en algunas pruebas del Firestrike puede que la CPU que tengamos no sea óptima y afecte negativamente al resultado.

Para el salto a los 4K desde PS5 teniendo en cuenta los 1080P de referencia en PS4 no es necesario un salto 4X en cuento a computación, texturizado y tasa de relleno. Cuando hablamos de computación dentro de una misma arquitectura entonces se puede comparar a igualdad de FLOPS, pero con el cambio a RDNA no es el caso que nos ocupa. En el caso concreto de PS4 vamos a pasar de GCN 1.1 a RDNA de golpe por lo que la comparación 1:1 no se puede realizar. En cuanto a las tasas de texturizado y de relleno estas si que escalan linealmente con la resolución.

En cuanto a la tasa de relleno, la cosa es algo más complicada. Xbox One X tiene una tasa de relleno de 35 GPixeles/s mientra que Xbox One de 13,68 GPixeles/s… No es un salto 4X de manera natural pero esto tiene una explicación y es que la mayoría de los efectos realizados entre el rasterizado y el envio del búfer final ya no se realizan via Fragment/Pixel Shaders sino via Compute Shaders donde estos no exportan a los RBE sino directa a la Cache L2 desde la Cache L1 utilizando el Export Bus. En RDNA los RBE ya no exportan al controlador de memoria directamente sino a la cache L1 correspondiente a su sub-sección, las CUs dentro de cada Workgroup puedene exportar desde la cache L0 (datos) a esa misma cache L1.

En las consolas actuales los RBE escriben directamente sobre el controlador de memoria y por tanto dependen del ancho de banda de la memoria externa o el que les quede disponible. Hemos de tener en cuenta por otro lado que esto no significa un tile rendering ya que el sistema de caches puede abocar los datos al siguiente nivel de jerarquía de la memoria. Recordad que RDNA no es un tile renderer, es algo que es casi un Tile Renderer y posiblemente en RDNA2 evolucione en ese sentido.

¿Y que tiene que ver esto con lo benchmarks? Pues basicamente que muchos de ellos dependen de la tasa de relleno y la tasa de relleno depende de la memoria. El caso es que con un sistema de caches de este tipo es impredecible por completo el funcionamiento en cada momento en concreto porque dependerá de la situacion de cada fotograma. El objetivo cuando se quiere llegar a un rendimiento como especificación mínima es que llegue a la especificación mínima en el peor de los escenarios en el que se vea envuelto el hardware. Pero en el caso del RDNA si vemos su organizacion veremos que los RBE nunca tienen conexión directa con el controlador de memoria. Es un cambio de paradigma total respecto a lo que tenemos en la actual generación y esto queráis o no, afecta enormemente a los benchmarks.

¿A donde quiero llegar con esto? La comparativa de números a lo bruto solo tiene sentido si hablamos de hardware basados en la misma microarquitectura al 100% y no es el caso. El otro tema es la participación de la CPU, en realidad una CPU puede no resultar en un cuello de botella para la GPU y que los resultados sean optimos para la GPU, incluso puede ser que la GPU no sea lo suficientemente rapida como para ejecutar las listas de pantalla enviadas por la CPU. Habitualmente en consolas este cuello de botella no ocurre y si que se puede dar el cuello de botella inverso donde la CPU es un cuello de botella para la GPU, algo que ocurre con la actual generación de consolas con los núcleos Jaguar. El simple cambio de Jaguar a Zen2 con el hardware actual debería asegurar un aumento en el rendimiento de los benchmarks y sinceramente se me antojan demasiado bajos los resultados si tenemos en cuenta la participación de una CPU más potente.

El tercer punto que tenéis que tener en cuenta es que los Quality Samples normalmente se prueban también a velocidades mucho más bajas que la velocidad del hardware final y es normal subir resultados temporales con la velocidad reducida. Recordemos que en el caso de Ariel/Gonzalo su GPU puede ir de 1 Ghz a 1.8 Ghz de velocidad y la versión final de la GPU puede ser colocada en cualquiera de estos puntos. Es decir, la cantidad de variables es enorme y el resultado del benchmark no nos dice absolutamente nada porque hay demasiadas variables en juego. No se puede incidir nada de esta información y aún así hay gente haciendo afirmaciones estúpidas en los medios sobre que PS5 va a ser 4X en potencia lo que es PS4.

Esto es todo, como siempre tenéis el Discord y los comentarios de la misma entrada para comentar el contenido de la misma.