Cuando hablamos de GPU en PC solemos nombrar a tres empresas estadounidenses: AMD, NVIDIA y en menor medida a Intel. ¿Qué ocurriría si os dijéramos que en China están apareciendo unas tarjetas gráficas que hacen uso de tecnología británica en su GPU, pero ensambladas y fabricadas en China? En este artículo os vamos a describir la arquitectura de la Fantasy I de Innosilicon.
Hablar de las arquitecturas PowerVR de Imagination es casi cómo hablar de una tragedia griega. Desde sus inicios y en diferentes generaciones, la hemos visto en varios sistemas diferentes como la Dreamcast de SEGA, las tarjetas gráficas KYRO de ST Micro e incluso la PlayStation Vita. ¿Su punto en común? Auténticos fiascos comerciales pese a la gran calidad de su GPU. No obstante tuvieron la suerte de ser la arquitectura gráfica de los procesadores de los dispositivos de Apple, hasta que los de Cupertino decidieron ir por su propia cuenta y «diseñar» su propia arquitectura gráfica durante un tiempo.
El periodo de desavenencias entre Apple e Imagination llevo de nuevo a los británicos a buscar licenciar sus arquitecturas gráficas a terceros. En la actualidad si miramos el panorama tanto en dispositivos inteligentes como en el mundo del PC vamos a ver como Imagination y sus PowerVR parece que hayan desaparecido.
Su ausencia en el mundo Android ha sido aprovechada por otros participantes, como pueden ser la propia ARM con Mali o Qualcomm con sus Adreno. Esto les ha hecho moverse a otros mercados, como por ejemplo el fabricante chino Innosilicon, famosa por sus ASIC para minería, fue quien no hace mucho presento sus Fantasy 1. Se trata de la primera tarjeta gráfica basada en un PowerVR desde las Kyro de principios de los 2000, pero, ¿pueden competir contra NVIDIA y AMD en el espacio del PC?
¿Qué es el renderizado por Tiles?
A finales de los 90, los diseñadores de tarjetas gráficas tenían que pelearse de cara el rendimiento con un problema en común, la falta de ancho de banda. Los procesadores gráficos en comparación a cómo son en la actualidad eran muy simples. La primera parte del pipeline 3D, previa a la rasterización, era calculada por la CPU. La segunda parte en cambió era llevada a cabo por la tarjeta gráfica, la cual requería grandes cantidades de ancho de banda que la memoria de la época no podía proveer sin disparar los costes.
La solución propuesta por Imagination fue el renderizado por Tiles, el cual aún conserva al ser la base de su arquitectura, por lo que aún a día de hoy el Fantasy I un vez se ha calculado la geometría en la propia GPU, se añaden etapas adicionales respecto a una GPU convencional. Un Tile Renderer ordena la posición de la geometría en la RAM según su posición en la escena justo antes del rasterizado para crear listas de pantallas individuales para cada tile que luego resolverá una por una durante el proceso de renderizado.
Ventajas
Debido al pequeño tamaño de cada bloque o Tile esto le permite resolverse sin tener que acceder a la VRAM, ya que para ello utilizan una memoria interna. Lo que lo hace además ideal para el renderizado en diferido que suele emplear múltiples búferes de imagen para calcular la iluminación de la escena. Su otra ventaja es que debido a que saber la posición de los elementos en la escena es esencial para generar la estructura de datos espacial para el Ray Tracing es más fácil implementar el trazado de rayos en este tipo de arquitecturas.
Desventajas
No obstante, esto tiene dos contrapartidas. La primera de ellas es que requiere tener un hardware más complejo que una GPU convencional para conseguir el mismo rendimiento y, por tanto, vamos a obtener siempre un rendimiento menor por un chip del mismo tamaño, el segundo es que la existencia de las memorias de alta velocidad como las GDDR o las HBM elimina su ventaja en un PC Gaming. Es por ello que este tipo de arquitecturas se ha convertido en estándar en los dispositivos de bolsillo, donde el ancho de banda de la memoria por motivos de consumo es limitado.
PowerVR B-Series, la arquitectura gráfica de Fantasy I
Para entender la arquitectura de las tarjetas gráficas Fantasy I de Innosilicon, y de paso también lo que hay en el interior de los procesadores de Apple para sus dispositivos hemos de realizar un tour sobre la actual arquitectura de Imagination y aunque sabemos que recientemente se ha presentado la Series C, también conocida como Photon, por el momento los dispositivos más avanzados utilizan B-Series de Imagination cómo arquitectura.
El núcleo de la B-Series
La organización de cada uno de estos núcleos es la siguiente:
- Cuatro bloques USC, Unified Shader Cluster, donde cada uno tiene hasta 128 ALU en FP32 para un total de 512 por núcleo. Dado la capacidad de ejecutar una instrucción de suma y multiplicación en un solo ciclo de reloj, es capaz de hacer 1024 operaciones por ciclo de reloj.
- 8 unidades de texturas, cada una capaz de producir 4 téxeles, para un total de 32.
- 16 ROPS.
- 1 unidad de teselado.
- 1 unidad de rasterizado.
Cada uno de los núcleos se encarga en exclusiva de un tile o bloque en pantalla de manera independiente al resto. De ahí a que cada uno de ellos tenga sus propias unidades de rasterizado y teselación. Además de llevar consigo una pequeña memoria interna para resolver el búfer de imagen en su interior y reducir el impacto sobre la RAM del sistema. Sin embargo, dicha memoria es de uso exclusivo para los ROPS y pese a las bondades de la GPU debido a los enormes mapas de texturas usados a día de hoy se necesita acceder a la VRAM para obtener los datos de textura.
Fantasy I, la primera GPU por chiplets
La gran novedad de la B-Series de Imagination utilizada en Fantasy I es el hecho de que es la primera GPU que está compuesta por chiplets, es decir, por diferentes chips que funcionan de manera conjunta como un solo procesador. Para ello, la lista de pantalla se envía al primero de los cuatro chiplets que forman la GPU, mientras que los otros tres se encuentran subordinados. Se trata de una solución muy similar a la que AMD ha planteado en patentes con RDNA 3 y que seguramente será común en todas las GPU de este tipo a futuro.


No obstante, esta solución difiere en un punto en concreto, el uso del renderizado por tiles para realizar lo que es el prerenderizado y poder tener varias listas de pantalla no antes del rasterizado, sino desde que empieza el pipeline 3D. El concepto no es otro que renderizar la escena sin shaders, ni texturas de ningún tipo y desde el pipeline de computación y no el gráfico. Esto permite organizar varias listas de comandos y no solo una que permitirán explotar la gran cantidad de núcleos durante el prerenderizado. Dicho proceso se lleva a cabo de manera automática una vez el procesador de comandos de la primera GPU ha leído la lista de pantalla.
Esto nos permite tener varias listas de pantalla para una misma escena que se pueden organizar por los diferentes núcleos. Así se consigue que con una configuración de 2 chiplets cada una se encargue de una mitad de la pantalla, con 4 de ellas se reparten en un cuarto.
¿Qué ha aportado Innosilicon a su tarjeta gráfica?
Sin embargo, no todo el trabajo ha sido realizado por la gente de Imagination, sino que Innosilicon ha sido la que ha diseñado el resto de la tarjeta gráfica, añadiendo el diseño del PCB y escogiendo el resto de los materiales. Donde lo que más destaca es el uso de memorias GDDR6 o GDDR6X dependiendo del modelo a utilizar, soporte para DisplayPort 1.5 y HDMI 2.1, pero en concreto el uso de su tecnología Innolink, la cual se ha diseñado para comunicar internamente los cuatro chiplets que forman parte de la GPU.
En concreto tenemos dos variantes distintas, las llamadas Type A pueden alcanzar los 5 TFLOPS de potencia en FP32, dispone de una interfaz de memoria con la VRAM de 128 bits GDDR6X a 19 Gbps con un ancho de banda de 304 GB/s. las Type B, en cambio, disponen de dos GPU completas y, por tanto, con están compuestas por 8 chiplets en total y duplican las cifras
Las Fantasy I de Innosilicon no son para tu PC
La realidad es que las tarjetas gráficas Fantasy I de Innosilicon no las podrás comprar para utilizarlas en tu PC Gaming, tampoco te interesaría, ya que debido a que Imagination diseña sus arquitecturas para dispositivos de bolsillo donde Windows no es el sistema operativo dominante y tampoco lo es DirectX, pues nos encontramos con una serie de carencias. No tiene sentido añadir una funcionalidad a tu hardware que tu cliente no va a usar y el mayor cliente de estas GPU, aunque de manera encubierta es Apple y en concreto su API Metal.
Irónicamente, PowerVR está tan atada a Metal, la API empleada en iOS, macOS y el resto de sistemas operativos de Apple, que al final los de Tim Cook han terminado firmando un acuerdo con Imagination para que ellos sigan desarrollando la GPU integrada en sus procesadores. Por lo que en los actuales Apple A15, M1 y sus variantes Pro y Max, lo que hay dentro es un PowerVR. La contrapartida de ello es que los de Cupertino han creado la idea general que son tan todopoderosos que pueden crear ellos todo el hardware de un sistema y competir en recursos contra todo el mundo. La realidad es muy distinta.
El hecho de que una GPU compuesta por 4 chiplets llegue a los 6 TFLOPS cuando la gama de entrada para PC ya llega a eso nos puede llegar a sorprender, pero hay que tener en cuenta que es un diseño pensado para procesadores móviles, pero con el objetivo de llegar a la computación en la nube y no para ser usado en un PC Gaming.
Pensadas para centros de datos y computación en la nube
No olvidemos que en servidores es normal usar varios procesadores y que tenemos cada vez más servidores basados en procesadores para teléfonos inteligentes. Tampoco podemos olvidar la tendencia a virtualizar una tarjeta gráfica en la nube para varios clientes, por su naturaleza, la Fantasy I no requiere de virtualización, cada uno de los chiplets que la componen pueden funcionar cómo una pequeña GPU.
Por lo que tenemos una arquitectura que deriva de los móviles y escala hasta los centros de datos, pero sin pasarse por el barrio que es el PC. Esto hace que carezca de una serie de funcionalidades que a día de hoy son imprescindibles para los juegos en PC. Es por ello, que pese a que el aspecto de las Fantasy I puedan recordar a la de una GPU Gaming o se vea poco serio con esos colores, realmente son para computación en la nube, aunque se trata de una primera generación. ¿Nos encontramos ante el futuro donde la tarjeta gráfica no se encuentra en manos del usuario, sino en el servidor?
En todo caso, China como superpotencia rival de los Estados Unidos necesita ser totalmente independiente desde el punto de vista tecnológico y esto pasa por crear sus propias soluciones fuera de las clásicas de NVIDIA, Intel y AMD, que recordemos que son empresas estadounidenses.