¿Por qué AMD no consigue fabricar una GPU a la altura de NVIDIA?

¿Por qué AMD no consigue fabricar una GPU a la altura de NVIDIA?

Javier López

Es fruto de polémica, carne de cañón para usuarios poco afines al disfrute puro de la tecnología que brindan ambas compañías y sin embargo, es un hecho que se ha mantenido desde las Radeon X800. NVIDIA cogió el mando de las tarjetas gráficas a finales de 2005 y desde ese entonces ha reinado con mano de hierro durante 15 años, pero ¿qué impide a AMD lanzar una GPU que supere a su rival?

Hay varios factores clave que NVIDIA siempre ha tenido claros a la hora de lanzar nuevas GPU al mercado y que AMD ha empezado a comprender desde hace algo más de dos años.

Estos factores no dejan de ser realmente relevantes más allá de las propias arquitecturas, pero tienen connotaciones interesantes que dejan un mensaje claro que promete cambiar el panorama actual de tarjetas gráficas.

Arquitectura

AMD-Vs-NVIDIA-Unidades-Mínimas

Partimos de la base de que comprendemos la naturaleza de una GPU como tal, es decir, son fantásticas «calculadoras gigantes» de operaciones de FP, por lo tanto son magníficas para operaciones paralelas. La gran mayoría de cálculos las realizan las unidades FPU y a diferencia de las CPUs, estas unidades como tal no son programables por los diseñadores de software, sino que todo es un poco más abstracto y totalmente dependiente del driver que les de soporte.

Esto deja en manos de AMD y NVIDIA una optimización de sus productos como pocos dispositivos en un PC tienen. Al mismo tiempo, esto es solo el principio del problema del argumento principal de este artículo, y es que NVIDIA destina una cantidad de recursos tan ingente que su grupo de desarrollo está denominado internamente como el «ejército de NVIDIA».

AMD-Shader-Engines

La cantidad de desarrolladores de software que tienen es muy superior a AMD y aquí se gesta parte de la superioridad de sus GPU. Hay que entender que en las arquitecturas y desde precisamente finales de 2005, las tarjetas gráficas disponen de las mismas unidades para trabajar: ALUs/FPU TMUs y ROPs (aparte de las correspondientes cachés y VRAM claro) y solo Turing ha impuesto los nuevos RT Cores y Tensor Cores para diferentes tareas.

Esto supone de nuevo que la optimización del software junto con las mejoras de la arquitectura marquen una diferencia mayor a cada generación si no se avanza más rápido que el rival. Para ser concretos, Navi como arquitectura incluye dos bloques Shader Engines que a su vez AMD divide en los famosos Asynchronous Compute Engines (ACE), donde cada uno de ellos tiene 5 WGP y dos CU.

NVIDIA-architecture-SM-history

Por pura comparativa, NVIDIA en Turing dispone de 6 GPC con 6 TPC en cada uno y dos SM por cada bloque. Esta simple visión de la estructura de cada arquitectura nos hace ver que la paralelización de los de Huang es mucho más alta y más configurable que la de AMD, la cual dispone de unos bloques mucho más potentes en conjunto, pero que al mismo tiempo implican ser menos eficientes energéticamente que la opción de su rival.

Por último, hay que entender que existe una diferencia radical en el planteamiento del funcionamiento de ambas arquitecturas, lo cual viene desde el pasado por simple evolución de las mismas: NVIDIA trabaja con unidades de ejecución escalares, AMD por su parte usa unidades que funcionan con vectores.

¿Qué implica esto? Una optimización totalmente diferente para trabajar por parte de los desarrolladores y al mismo tiempo por su opacidad, es un muro que AMD intenta tirar abajo ofreciendo unidades más simples de programar y con mejores recursos.

Consumo

AMD-RDNA-vs-GCN

Otro de los problemas que arrastra AMD desde hace años, y que incluso con un proceso litográfico mucho más avanzado que el de su rival no consigue situarse por delante. De nuevo, todo es un problema de arquitectura y optimización.

NVIDIA es capaz de desactivar en milisegundos cualquier grupo de TPC e incluso GPC completo, variando la carga de trabajo en gran medida y que junto a diversas tecnologías como las Tiled o la compresión de color de alto nivel hacen que sus unidades trabajen de forma más eficiente y por lo tanto consiguen impulsar el rendimiento consumiendo menos energía.

La optimización es clave y aquí NVIDIA por el funcionamiento de sus unidades consigue hacer más que AMD en el mismo ciclo de reloj. No hay que mirar esto tanto desde el punto de vista del rendimiento (que evidentemente es mejor) sino desde el consumo.

Una unidad escalar permite una instrucción flotante y una entera al mismo tiempo y por ciclo de reloj. La reorganización de la arquitectura en NVIDIA permite que un programador trabaje con operaciones vectoriales de una forma más sencilla que en AMD, sobre todo ahora que Turing tiene tres motores distintos bien diferenciados dentro de cada SM.

Esto permite que la rasterización se enfoque de mejor manera en dichos motores, sea INT32, FP32 o los Tensor Cores, permitiendo que, si no es necesario, se desactiven GPCs completos o alguno de dichos motores, ahorrando consumo y siendo más eficientes en el trabajo.

Precios

nvidia-vs-amd

Es un factor determinante cuando hablamos de qué GPU es «mejor». A NVIDIA la estrategia de altos precios ofreciendo tecnologías novedosas le ha funcionado en esta ocasión, pero la realidad es que tanto Ray Tracing como DLSS no han sido desde el punto de vista del jugador un paso tan grande visualmente como se pretendía, y no han estado exentos de controversias o problemas.

Ofrecer un producto inferior a inferior precio no lo hace mejor per se, hay que saber posicionarlo de manera atractiva. Los apartados de consumo y arquitectura desembocan directamente en él y hacen que AMD sea vista como la opción más asequible por precio a una mayor cantidad de usuarios.

Navi sorprendió a NVIDIA en este punto, ya que las mejoras de la arquitectura han sido profundas y ha supuesto un salto importante que hizo a los de Huang lanzar una nueva serie de tarjetas para cubrir huecos. Pero la realidad en todo el mundo es que el usuario valora las tecnologías, el rendimiento y el consumo que ofrece NVIDIA a un precio más alto. No en vano posee más del 60% del mercado mundial, así que estamos en la tesitura de aquellos que pueden optar a pagar algo más por una GPU NVIDIA para aprovechar sus nuevas tecnologías y aquellos que simplemente no quieren pasar por ese aro por diferentes motivos.

En cualquier caso, desde hace más de 15 años AMD normalmente va a remolque en este apartado. NVIDIA fija los precios con sus nuevas GPU y AMD rellena los huecos con sus GPU.