¿Por qué la GPU de tu tarjeta gráfica es más grande que la anterior?

En las últimas generaciones de GPU tanto de AMD como de NVIDIA hemos podido observar un fenómeno común en todas ellas y es el aumento del tamaño de estas, No de las tarjetas gráficas en sí mismas, sino del chip principal que es la GPU. ¿A qué se debe el aumento en el área de las GPU? En este artículo os explicamos los motivos

Las tarjetas gráficas son uno de los elementos principales de un PC, sin ellas no podríamos utilizarlas, ya que no se podría comunicar con nosotros a través de la pantalla del monitor. Pero, en los últimos años el tamaño del chip gráfico ha ido aumentando considerablemente.

Las GPU tienen cada vez más tamaño

GoTo GPU Die Size

Una de las observaciones que se pueden hacer mirando el tamaño de los diferentes procesadores que han ido apareciendo en los últimos años es que si hablamos de CPUs puras o SoCs veremos que el tamaño se ha mantenido estable, mientras que en el caso de las GPU este ha ido aumentando cada vez más con el paso del tiempo.

Este fenómeno lleva tiempo ocurriendo en las GPU y tiene un motivo de ser que tiene que ver con la forma en la que funcionan todas las GPU y su tarea principal, la de renderizar gráficos cada vez de forma más rápida que la anterior y con mayor nivel de detalle.

Dos filosofías distintas: TLP frente a ILP

CPU GPU

TLP son las siglas de Thread Level Parallelism o paralelismo a nivel de hilo de ejecución, mientras que ILP son las siglas de paralelismo a nivel de instrucción. Son las dos filosofías antepuestas a la hora diseñar un procesador que vaya a ejecutar código en paralelo.

En las CPU lo que se busca es mejorar su ILP, es por ello que con cada generación se mejora la cantidad instrucciones por hilo de ejecución que puede ejecutar cada núcleo. Cuando hablamos de rendimiento monohilo o de un solo hilo de ejecución de lo que estamos hablando es de como rinde un núcleo ejecutando en solitario parte del programa. Esto es así porque los programas que ejecutan las CPU son en su mayoría secuenciales y por tanto en serie, con eventuales elementos de paralelismo. Es por ello que en una CPU el hecho de aumentar la cantidad de núcleos muchas veces no aumenta el rendimiento de un programa de forma lineal.

En cambio las GPU funcionan distinto, no ejecutan programas sino que lo ejecutan son lo que llamamos «olas» que se componen de hilos de ejecución, pero mientras que en una CPU un hilo puede ser una larga secuencia de instrucciones, en una GPU un hilo puede ser algo tan sencillo como una simple instrucción con su dato. Es por ello que en las GPU lo que se busca es aumentar su rendimiento añadiendo nuevos núcleos y por ello su tamaño va aumentando cada vez más.

Las GPU seguirán creciendo en tamaño

Tamaño GPUs

Uno de los problemas actuales es el hecho que pese a que los 4K van de camino en convertirse en una resolución estándar, el hecho de que dicha resolución tenga una mayor cantidad de píxeles a procesar en cada fotograma hace que la cantidad de núcleos necesarios en la GPU, así como unidades de apoyo, vayan aumentando en número y con ello el área de las mismas.

No podemos olvidar que pese a la enorme potencia sobre el papel de GPUs como la RTX 3090 de NVIDIA nos encontramos con que el mismo fabricante recomienda el uso de DLSS 2.0. La idea no es otra que renderizar los juegos a menor resolución de manera interna para después escalarlos. De esta manera se consigue que la cantidad de núcleos necesaria sea mucho menor.

Tened en cuenta el enorme tamaño de GPUs como la GA102 y la TU102 de NVIDIA, las cuales se acercan a lo que se llama el límite de la litografía, que es el tamaño máximo por chip que soporta un nodo de fabricación. Esto ha forzado a NVIDIA a optar por soluciones como añadir unidades Tensor para escalado de resolución por Deep Learning como medida temporal, mientras que en general todo se está moviendo al uso de GPUs con múltiples chips con tal de poder seguir escalando, especialmente ahora en el que el desafío de los ingenieros son los 4K con Ray Tracing.

¡Sé el primero en comentar!