Blog Personal.

Conceptos Básicos, Microsoft, Xbox Series X, XSX

Comentando Xbox Series X en el Hot Chips (II)

Seguimos, esta vez con la GPU.

A partir de esta diapositiva podemos deducir la organización de la GPU la cual es la clásica organización de las GPUs con arquitectura RDNA2, muchas de las cosas que se ven mencionadas en esta diapositiva ya las he comentado en entradas anteriores.

  • 26 Active Dual Compute Unit; La Dual Compute Unit es también llamada WGP en la jerga de AMD.
  • Unified Geometry Engine: Se encuentra fuera de los Shader Engines y conectado a la Cache L2. Es la unidad de Culling encargada de marcar para descarte la geometría superflua de la escena. Ya hable hace unos meses de esta unidad.
  • Mesh Shading Geometry Engine: Otra de las novedades de las arquitecturas RDNA que comparte junto a PlayStation 5.
  • Distributed Primitives & Rasterization, Screen Tiled Color/Depth Unit: El rasterizado por Tiles, disponible en las GPUs de Nvidia desde Maxwell y en AMD desde Vegas en consolas pese a haber pasado años ya es una novedad debido a que la última consola lanzada a la venta se basaba en Polaris (Xbox One X) que no rasterizaba por Tiles.
  • Multi-Core Command Processor: No es nada nuevo, es como Microsoft llama a los diferentes Procesadores de Comandos de la GPU.

En cuanto al diagrama, lo que sacamos en claro es que:

  • 2 Shader Engines.
  • 2 Shader Arrays por Shader Engine
  • 7 Dual Compute Units/WGP por Shader Array.

En realidad no es diferente a lo que hemos visto en RDNA excepto esos 5MB de Cache L2… ¿A que se deben? Bueno, en el caso de la RX 5700 tenemos un bus de 256 bits con la GDDR6 en forma de 4 controladores de 64 bits y a cada controlador están conectadas 4 particiones de Cache L2, cada una de 256KB.

Lo que ha hecho Microsoft es añadir otro controlador GDDR6 de 64 bits al SoC de Xbox Series X y le ha conectado otras 4 particiones de Cache L2 llegando así a los 20 particiones de Cache L2 en el sistema (256KB*20= 5MB) , pero no olvidemos que la Cache L2 esta directamente conectada a la Cache L1 de los Shader Array aunque esta ultima solo se utilice para lectura en un ratio de 4:1.

El hecho de aumentar la cantidad de particiones de la Cache L2 hace que la Cache L1 haya aumentado también y pueda tener más clientes. En la RX 5700 las especificaciones para ambas caches son las siguientes:

El ancho de banda de la Cache L2 de la GPU en el caso de la RX 5700 con 16 particiones es de 1024 bytes/ciclo por lo que en el caso de Xbox Series X con 20 particiones es de 1280 bytes/ciclo. Si hacemos memoria a la velocidad de reloj:

Entonces podemos obtener los anchos de banda de la Cache L2 y las Caches L1 serían de 2.2 TB/s en el caso de la Cache L2 y de 4.4 TB/s en el caso de la Cache L1.

Nada nuevo que no supiéramos pero con esto tenemos la confirmación de lo que ya vimos en la patente de AMD sobre su unidad de intersección de trazado de rayos, esta integrada en la nueva unidad de texturas.

Esto significa que la unidad de filtrado de texturas y la unidad de intersección de rayos al acceder al compartir el mecanismo de acceso a la cache L0 (Datos/Texturas) una se pisa a la otra. La unidad de texturas solo se utiliza durante la étapa de los Pixel/Fragment Shaders, pero el caso es que se pisan la una a la otra y no lo digo yo sino que lo dice la propia diapositiva. Tened en cuenta que la carga computacional más grande en el renderizado se encuentra en la étapa del Pixel/Fragment Shading.

Lo gracioso es que después de meses hablando los fanboys del supuesto no-Ray Tracing en PlayStation 5 va Microsoft y nos suelta esto:

Vais a ver muchos, pero que muchos juegos que no van a tener trazado de rayos y los que lo tengan lo activarán y desactivarán según la complejidad de la escena con tal de mantener una tasa de fotogramas por segundo estable y/o la resolución adecuada por lo que esta generación no es la del trazado de Rayos sino la de la transición al trazado de rayos.

Que por cierto aunque digan que no, la unidad de intersección tiene la misma funcionalidad que la de Turing.

No se como se han obtenido los datos ni en que condiciones. Pero hay que tener en cuenta que la unidad de intersección primero realiza la intersección a por caja del BVH y luego a nivel de primitiva dentro de la caja. Hay que tener en cuenta además que el trazado de rayos en videojuegos es distinto que en el cine en su funcionamiento, en el mundo del cine donde no hay limite de tiempo por renderizado es:

Haz rebotar el rayo por la escena de manera indefinida hasta que salga de escena o se quede sin energía.

Si esto se aplicase en videojuegos a tiempo real el ratio de fotogramas por segundo ni existiría y para esperar un solo fotograma nos quedaríamos:

En DirectX y otras APIs similares para adaptar el trazado de rayos lo que han hecho es que cada invocación ha de ser explicita, es decir, cuando un rayo impacta sobre un objeto para que haya el rebote de ese rayo de luz ha de tener un shader de generación o de emisión explicito.

Es decir, tenemos que tener un Ray Generation Shader sobre el objeto, esto permite optimizar la cantidad de rayos en pantalla de tal manera que no afecta el rendimiento del juego donde la tasa de fotogramas es esencial. Por otro lado me llama la atención con lo de «custom» precisamente AMD no deja que lo que es el interior propiamente dicho de sus GPUs las toque nadie excepto ellos. Ni Sony ni Microsoft tienen acceso a esa parte, pueden pedir cambios pero AMD es libre de utilizarlos para otros clientes o en sus sistemas. Pero claro, Microsoft intenta tomarle el pelo a la gente diciendo que esas soluciones son «patentadas» o salidas de su laboratorio cuando realmente vienen de la propia AMD y no de Microsoft.

Dentro de las Compute Units otra de las cosas que me parecen interesantes y que esta precisamente es una novedad es que parece que AMD para RDNA2 ha tocado la unidad de texturas no solo para añadirle la unidad de intersección sino que han hecho algún que otro cambio en la unidad de filtraje de texturas.

Microsoft lo llama «Custom» pero la realidad es otra y con estas diapositivas tenemos muy claro que el objetivo de Microsoft es vender tecnología de AMD como si fuese de desarrollo propio para dar el mensaje que la competencia no lo tiene esa tecnología.

Urian, eres un fanboy de Sony.

¡Dejad de llorar, anda! Que teniendo la consola más potente tenemos que aguantar a Microsoft vendiendo tecnología de AMD como propia para venderla como una exclusiva tecnológica que no es es tan exclusiva. Y si queréis saber el motivo por el cual AMD no deja su código a Microsoft preguntadselo a Imagination con Apple. ¿Que le impediría a Microsoft hacer su propia GPU en paralelo copiando el código de AMD? Lo que si que ha diseñado Microsoft son los aceleradores externos como el MSP, HSP e incluso los Audio Engines pero por favor, que no vendan la tecnología de AMD como propia y no es el único ejemplo.

Ejem…

Lo otro es el Sampler Feedback Streaming, del cual ya os adelante su funcionamiento de manera muy resumida en una entrada:

La cual complete en la siguiente entrada:

En la entrada comente cierta patente de AMD que coincide al 100% con la explicacion que ha dado Microsoft en el Hot Chips acerca del SFS por lo que estamos en las mismas.

Por lo que la conclusión es que la GPU no tiene nada de custom y/o inventado por Microsoft.

Ah, esperad que me olvido de algo.

Lo del Machine Learning ya hablaron en su dia:

En las arquitecturas RDNA y RDNA2 el Deep Learning lo hacen las unidades SIMD de las Compute Units a través de SIMD sobre registro subdividiendo las ALUs FP32 en 2 en FP16 (De ahi los 24 TFLOPS en FP16) y asi sucesivamente hasta llegar a 97 TOPS en Int4. Fijaos que Microsoft no habla en ningún momento de una unidad matricial/tensor/array sistólico por lo que no os esperéis nada de eso en el hardware.

¿Que nos quedá? Ah si, el procesador de comandos. ¿Recordáis esto de hace unos meses?

DX12 en PC y Xbox One tenían sutiles diferencias que obligaba a retocar el código gráfico. Muchos de los juegos de Xbox One van a ser portados directamente y mejorados y Microsoft a incorporado el Procesador de Comandos alineado a dicha versión de DX12. DX12 Ultimate en cambio es igual en PC y Xbox Series X por lo que la API esta unificada y tiene su propio Procesador de Comandos.

Para terminar, me preocupa que Microsoft no tenga nada con musculo para enseñar la potencia, que veamos el Minecraft RT por un lado y el Gears 5 siendo referenciados después de meses pues es decepcionante porque uno esperaría ver en una presentación así alguna demostración de músculo con un juego next gen.

No quiero ver juegos optimizados de la generación anterior, quiero ver juegos nuevos y supongo que la gente estará de acuerdo con ello.

Esto es todo, tenéis los comentarios de esta misma entrada para comentar y no olvideis que tenemos Discord.

4.9 15 votes
Article Rating
15 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Snake128

Buenisimas entradas, espero que Sony saque su paper también y estes tu para explicarlo

Shepard93n7

Mucha información jugosa. Y a juzgar por la filtración de la patente de la solución térmica de PS5 yo diría que el supuesto teardown está muy cerca, esperemos que también den información más detallada de los componentes para por fin poder comparar ambas máquinas como dios manda.

Last edited 1 month ago by Shepard93n7
Malatraca

Resumiendo: Por lo que te he leido, tenemos un RT limitado y un dlss tambien limitado. Me gustaria ver Control en Xbox series X, como va o ver Ciberpunk 2077. Es mosqueante los datos sobre rendimiento en RT, ne hace pensar que estara muy limitado. Un saludo y gracias por la explicacion.

Malatraca

😂😂😂. Yo tengo claro que No, pero como se lo explicas a los que piensan que la xbox series X es el mesías?. Soy jugador de Pc, xbox y Nintendo Switch.

Shepard93n7

Eso también explica porque han quitado en la página de xbox la coletilla de «Raytracing» en algunos juegos como The Medium.

elmonoborracho

Comparemos, cuando PS5 solo sacaron datos tecnicos, saco la entrada: Defendiendo a Mark Cerny. Hoy se podria titular: Atacando a Microsoft, porque todo lo haces mal hasta cuando das detalles.

elmonoborracho

Que no habra juegos optimizados en el lanzamiento los sabiamos, que el SSD de PS5 es más rápido es evidente y lo sabia todo el mundo. Dijiste erroneamente que no tenia nuevo hardware dedicado de audio, pero al final la culpa siempre es de Microsoft porque es «vaga» y no aclara nada. Urian, una pregunta ¿Microsoft ha hecho tan mal trabajo en el hardware de su nueva consola? Porque como lo expresas pareceria.

El peluca

A mi me gustaría que Sony sacase solo la mitad de lo que a sacado Microsoft. Solo pido eso, y ver tus entradas de como hablas de ps5.

Set

Primero cualquiera que lleve un tiempo en mundo de hardware sabe que AMD no va gastar tiempo y recurso en algo custom, es mas por eso los usuarios de PC estan a la expectativa, porque saben que es lo que verán en PC. Lo del Raytracing no lo termino de comprender lo que muchos juego lo van desactivar, simple vista la implementacion de RDNA2 es mas rapida que la de Turing, Turing ya maneja ciertos efectos de RT sin problemas, si refiere a que no menejara iluminación Full Ray Tracing también era logico, las Turing ya van justa manejando sub… Read more »

steven

Hola yo aumentaría más el tamaño de caché para poner mas unidades de trasados de rayo

IntelCeleronMasterRace

Hombre, con que funcione AL MENOS mejor que el RT de una 2070, ta bien, mas para el consolero promedio que tampoco se molestaria teniendo el titulo a 30fps…

Ahora, no se puede pretender, EJEM, 4k 60fps CON rayitos, es DEMASIADO INCLUSO PARA UNA 2080Ti.

Pero los fanboys de xbox estan, con mucho tiempo libre evidentemente, YA TIENEN LA CONSOLA MAS POTENTE, PESADOS DE MIERD…

miguel

alguien me explica? jaja no entendi nada