Blog Personal.

AMD, Especulación, Futuro, Radeon

Sobre el leak de Sienna Cichlid/Navi 21

Mirando las especificaciones filtradas de Sienna Cichlid/Navi 21 me he encontrado con algo que sinceramente me ha parecido sospechoso.

Para que lo entendáis, digamos que la cantidad de unidades de rasterizado esta directamente relacionada con la cantidad de Render Backends/ROPS siendo siempre un ratio de 16:1 por el hecho que las unidades de rasterizado pueden generar fragmentos de hasta 16 pixeles tradicionalmente. Pues bien, en las arquitecturas RDNA un Shader Array es todo aquello que esta conectado a la Cache L1, esto es:

  • Un conjunto de WGP (Cada uno incluye dos Compute Unit y la Cache de Instrucciones Común).
  • Una unidad de rasterizado.
  • Una unidad de primitivas (Que es como AMD llama a la unidad de teselación de función fija).
  • De 1 a 4 Render Backend Engines (RBEs) que contienen cada uno unos 4 ROPS (De 4 a 16 ROPS).
  • Los ROPS son en general los que escriben los pixeles en el búfer de imagen después del Pixel/Fragment Shader en el pipeline gráfico.

¿Cual es el problema? Si Navi 21 tuviese una configuración de 8 Shader Arrays lo que tendríamos serían 8 unidades de rasterizado y 32 RBEs/128 ROPS pero haciendo un zoom a la tabla con información de los drivers que ha filtrado rogame nos encontramos que seguimos con 16 RBEs/64 ROPS, ergo tenemos realmente 4 Shader Arrays en la GPU.

Que la unidad de rasterizado y los RB son clientes de la Cache L1 y por parte su número esta directamente relacionado con la cantidad de particiones de Cache L1 no es algo que me invente yo, AMD ya lo dejo claro en sus diagramas.

La Cache L1 es una cache de solo lectura realmente, por lo que al escribir los datos desde los clientes de esta se escriben sobre la cache L2 pero a la hora de acceder a estos de manera más rápida esta la Cache L1. Pues bien, como ya he dicho varias veces hay una correlación directa de 4:1 en lo que a las cantidad de particiones de Cache L2 hay en la GPU respecto a las particiones de Cache L1.- Perdonad si reciclo las mismas imagenes que la entrada de ayer pero por ejemplo Navi 14 que tiene 2 Shader Arrays (2 particiones de Cache L1) tiene unas 8 particiones de Cache L2, 4 por cada partición de Cache L1.

Si nos vamos a Navi 10 ocurre el mismo ratio.

Pero una cosa que esta clara entre ambas piezas es que hay un ratio de 1 controlador de 64 bits GDDR6 por cada 4 particiones de Cache L2. Ahora bien, el ancho de banda que otorga la Cache L1 esta directamente relacionado también con su limite de clientes. ¿Pero que ocurre si tenemos una configuración de 384 bits GDDR6?

Utilizando la simple regla de tres que hemos visto esto significarían unos 6 controladores GDDR6 de 64 bits, lo que significarían unas 24 particiones de Cache L2 y por tanto unas 6 particiones de Cache L2 y por tanto unos 6 Shader Arrays pero hemos visto que solo son 4 Shader Arrays realmente. ¿Que ocurre aquí? Pues simple, AMD con Sienna Cichlid/Navi 21 lo que ha hecho es que exista un ratio de 6:1 entre las particiones de Cache L2 y las de Cache L1 en vez de 4:1 y de paso ha hecho más anchas estas últimas de tal manera que la cantidad de clientes que puede tener la Cache L1 ha aumentado y lo que principalmente habría hecho aumentar AMD es la cantidad de WGPs por Shader Array dejando al resto del Shader Array intacto.

Otra pieza importante es el Geometry Engine/Geometry Processor, el cual no se encuentra dentro de los Shader Arrays sino que es cliente directo de la Cache L2 y se encuentra en la parte central del chip. Este elemento es el encargado de realizar el Culling de la geometría y por tanto de eliminar los vertices superfluos del pipeline gráfico durante la etapa de la geometría. Pues bien, su ratio es de 2:1 respecto a la tasa de triángulos rasterizados en Navi 10 y de 4:1 respecto a Navi 14. Si AMD hubiese duplicado la cantidad de RBs y unidades de rasterizado entonces el ratio hubiese sido de 1:1 y dicha unidad hubiese quedado anulada obligando a AMD a re-hacerla de nuevo y es una pieza que no creo que AMD cambie para RDNA2, siendo uno de los motivos para una configuración de 4 Shader Arrays en total.

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

5 2 votes
Article Rating
Subscribe
Notify of
guest
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

[…] Sobre el leak de Sienna Cichlid/Navi 21 […]

Steven

Hola 1:1 sería quitar rendimiento a la gpu

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