ARM Mali G2-Ultra NX a fondo: así usa aceleradores de IA para lograr ray tracing a 60 FPS con solo 2 W
por Antonio DelgadoARM Mali G2-Ultra NX: Gráficos por IA y trazado de rayos a 60 FPS dentro de CSS for Mobile 2
En la nueva plataforma CSS for Mobile 2 de ARM, además del soporte para LPDDR6, su nuevo sistema de interconexión o los núcleos C2 que hemos repasado en su artículo correspondiente, ARM también ha detallado su nueva arquitectura gráfica, con su máximo exponente en la Mali G2-Ultra NX, acompañada de las Mali G2-Premium NX y Mali G2-Pro NX.

Esta nueva generación, además de aumentar el rendimiento y añadir nuevas mejoras, también añade el sufijo "NX" que hace referencia a los aceleradores neuronales que integra para mejorar la calidad gráfica y rendimiento con inteligencia artificial, una moda que ya hemos visto aplicada en el mundo del PC y que también está invadiendo el sector de los smartphones con tecnologías de reescalado y generación de fotogramas por IA.

En este caso, estos aceleradores se integran en el propio diseño de la GPU para conseguir reducir el trabajo de renderizado tradicional de la GPU en un componente que, en el caso de los smartphones, tiene muy limitado el consumo. De hecho, ya os adelantamos que ARM promete cifras de 60 FPS estables con un consumo de apenas 2W.

Novedades en renderizado tradicional, nuevo Execution Engine y Ray Tracing con RTUv3
La configuración base de referencia de la Mali G2-Ultra NX cuenta con 14 Shader Cores o núcleos de sombreado, 4 MB de caché L2 compartida y un total de 8 unidades de aceleración neuronal NX. Son valores que pueden cambiar dependiendo de la implementación final que utilice el fabricante, pero que nos sirven como punto de partida para conocer su arquitectura.
Cada shader integra su propio gestor de hilos y el nuevo motor de ejecución, también una unidad de trazado de rayos RTUv3 de nueva generación y los aceleradores dedicados para distintos elementos, comunicándose con el resto del SoC mediante una unidad de gestión de memoria MMU dedicada y enlaces AMBA 4 ACE.

Nuevo motor de ejecución
ARM presume de que su nuevo motor de ejecución de la Mali G2-Ultra NX supone la mayor actualización en el catálogo de instrucciones ISA en siete generaciones, una mejora que se ha realizado para dar soporte mejorado a motores gráficos actuales como Unreal Engine 5.
En la pasada generación con la Mali G1-Ultra, estos motores solo permitían elegir entre 32 o 64 registros. El problema es que los shaders de motores gráficos y juegos modernos son mucho más grandes y pueden superar esos límites, entonces, en esos casos en los que un shader era mayor de 64 y no cabía, sus datos restantes se tenían que pasar a la memoria RAM, penalindo el rendimiento al tener que enviar y esperar por esos datos en memoria externa.

El nuevo motor de ejecución de la Mali G2-Ultra NX soluciona esto utilizando un sistema de asignación dinámica en bloques de 16 registros que se pueden combinar para cubrir desde esos 16 hasta 128 registros (en concreto con capacidades de 16, 32, 48, 64, 80, 96, 112 y 128).
Esta mejora permite que los shaders más grandes puedan almacenarse y procesarse directamente sin tener que pasarlos a memoria. Además, también permite aprovechar más el procesamiento de shaders más pequeños, por ejemplo, en el caso de un shader de 16 registros, podrá ocupar solo esos 16 registros y no los 32 o 64 que permitía la G1.
En cuanto a las frecuencias de funcionamiento, ARM utiliza un esquema asíncrono, es decir, la GPU puede funcionar a distintos MHz en distintas partes.
Por ejemplo, en los momentos de mayor carga puntual, el nivel superior de la GPU puede alcanzar hasta 1,90 GHz, mientras que los shaders funcionan a un máximo de 1,70 GHz y los NX a 2,33 GHz. Estas cifras son los picos máximos, pero en rendimiento sostenido, la GPU funcionará de manera habitual de 700 MHz en el nivel superior y a 350 MHz para los Shader.

Unidad de ray tracing RTUv3: hasta un 13% menos de transferencias a memoria
La unidad de trazado de rayos o raytracing por hardware también se actualiza a su tercera generación con la RTUv3, añadiendo mejoras desde la pasada generación de las Mali G1.
La pasada generación procesaba los triángulos de forma independiente y no como conjunto, esto hacía que, en caso de tener varios triángulos pegados, las aristas compartidas se duplicaran innecesariamente. Con esta nueva unidad de RT "RTUv3", se procesa como un conjunto, unificando esas aristas y generando estructuras más compactas que ocupan menos en caché.
Esto permite reducir la transferencia de datos entre esa caché y la memoria RAM para aumentar la velocidad de cálculo. ARM asegura que se reduce hasta un 13% ese "tráfico" a memoria RAM en benchmarks con raytracing pesado como Solar Bay Extreme de 3DMark.

Otra de las novedades de esta tercera generación de unidades de ray tracing es el soporte para micromapas de opacidad (OMM) a nivel de hardware.
Generalmente, cuando hay que calcular el trazado de rayos de la luz incidiendo en rejas o elementos pequeños como hojas de árboles, suele ser necesario aplicar una gran carga gráfica a los shaders. Con OMM, la unidad de RT v3 comprueba directamente a nivel de hardware si el impacto del "rayo de luz" es un acierto, un fallo o una zona desconocida, sin tener que ir a los shaders de la GPU.

Según ARM, esto reduce la carga de ray tracing en la GPU hasta en un 70%, consiguiendo hasta un extra de 30% más de FPS en juegos.

Si tenemos en cuenta únicamente las mejoras de rendimiento "bruto", es decir, aquellas que se consiguen en renderizado por rasterizado "tradicional", la Mali G2-Ultra NX ofrece una mejora moderada frente a la G1-Ultra que se queda en torno a un 9% extra en títulos como Honkai: Star Rail y Zenless Zone Zero, y un 14% en Fortnite, alcanzando meejoras de entre el 17% y el 24% en benchmarks como Antutu v11 o Solar Bay Extreme.

En pruebas con raytracing, la combinación del nuevo Execution Engine y la RTUv3 permite subir la mejora a un 18% en Invitro 2 y hasta un 24% en Solar Bay Extreme. En juegos como Moku se promete hasta un 30% más, con gameplay estable a 30 FPS.
La familia gráfica se completará además con las variantes Mali G2-Premium NX (con configuraciones de 6 a 9 shader cores y Mali G2-Pro NX (con configuraciones que van desde 1 hasta 5 núcleos), llevando estas capacidades de aceleración neuronal a gamas más baratas.
Estas son las novedades más importantes a la hora del renderizado "tradicional" nativo en la GPU. Sin embargo, como hemos visto, esta nueva gráfica añade también novedades a nivel de hardware para nuevos sistemas de reescalado y generación por inteligencia artificial.
Aceleradores NX y gráficos con IA: Reescalado, generación de fotogramas y reconstrucción de rayos
Más allá de las mejoras en rasterizado convencional, el cambio más importante de esta nueva generación está en sus nuevos aceleradores neuronales NX (Neural Accelerator).
Hasta ahora, cuando se quería aplicar IA en gráficos móviles, se solía procesar directamente en los shaders o sombreadores convencionales (que no están optimizados), o enviándolos a una aceleradora externa como una NPU, con la penalización de latencia y consumo que eso supone.
Con la Mali G2-Ultra NX, ARM ha integrado los aceleradores de IA directamente dentro de cada Shader Core, un módulo específicamente creado para aplicar distintas tecnologías gráficas basadas en IA. Al estar situados dentro de cada núcleo, los aceleradores NX comparten con el motor de ejecución el acceso a memorias caché y demás elementos de control, evitando tener que mover datos hacia fuera.

Cada unidad NX es capaz de trabajar con formatos INT8 e INT16, con soporte para operaciones tensor y pesos comprimidos. Todo ello con una velocidad de funcionamiento superior a la de la GPU (hasta 2,34 GHz) Además, integra un Motion Engine para calcular vectores de movimiento.
Esto le da soporte nativo para ciertas funciones gráficas similares a las que hemos visto en PC, como DLSS, FSR o XeSs, entre otras, donde se libera carga de trabajaro a la parte de renderizado tradicional, para conseguir más fps y calidad a costa de reescalados y generadores de fotogramas.
ARM promete que sus GPUs son capaces de reconstruir 7 de cada 8 píxeles. Es decir, en una imagen de grupos de 8 píxeles, por cada pixel renderizado, pueden reconstruir 7 de ellos, y generar completamente fotogramas intermedios sin renderizado.

Para ello entran en escena varias tecnologías de IA en gráficos de ARM como son NSS (Neural Super Sampling) para reescalado o Neural Frame Rate Upscaling (NFRU) para generación de fotogramas, junto con la tecnología Neural Super Sampling and Denoisng (NSSD), que combina NSS y reconstrucción de rayos.
Son tecnologías cuyas bases os sonarán del PC, pero que, si miramos en perspectiva, pueden tener mucho más sentido en un smartphone al tener una potencia mucho más limitada y también una pantalla más pequeña donde pequeños errores se disimulan más.

NSS (Neural Super Sampling) : Reescalado temporal por IA para multiplicar los FPS y calidad
NSS toma como entradas la imagen a baja resolución, renderizada con menor esfuerzo por la GPU, esta imagen incluye la "fluctuación de muestreo", los vectores de movimiento calculados por el motor gráfico, los mapas de profundidad del fotograma actual y del anterior, e información de fotogramas previos.
La red neuronal se encarga de procesar estos datos para reconstruir la imagen a una resolución superior, evitando tener que aplicar pasadas de antialiasing.

En pruebas que ha mostrado la compañía, se consigue escalar juegos de tan solo 540p de resolución a 1080p (es decir, donde se renderiza solo un cuarto de los píxeles). De esta manera, con NSS se consigue duplicar los FPS con el mismo consumo de unos en 2,5 W
Al contar con los propios motores NX se reduce a la mitad los datos que van hacia/desde la memoria DRAM y la energía por fotograma entre un 50% y un 60%.

Según los datos que nos ha enseñado ARM, la calidad final supera incluso a renderizados tradicionales de equipos de sobremesa.
También hay que tener en cuenta que el desarrollador (o el propio usuario si se da la opción) podría ajustar la resolución base y final, dependiendo de la potencia del procesador/GPU y también teniendo en cuenta la resolución de pantalla del móvil.

NFRU (Neural Frame Rate Upscaling): Generación de fotogramas por IA
Otra tecnología soportada es NFRU (Neural Frame Rate Upscaling), un sistema de "framegen"para la generación de fotogramas por IA.
En vez de depender solamente de los vectores de movimiento de cada juego, NFRU utiliza el "Motion Engine" del que hablamos antes, integrado en los aceleradores NX para calcular el "flujo óptico" de la escena con su movimiento. El sistema tiene en cuenta dos fotogramas renderizados, el anterior (T-1) y el posterior (T+1) junto a sus texturas, mapas de profundidad y movimiento, y genera mediante una red neuronal un fotograma intermedio (T) donde la GPU no ha tenido que renderizar nada.

De esta forma se consigue multiplicar el rendimiento en FPS del juego sin sobrecargar el motor de renderizado.
Según los detalles que nos ha mostrado ARM, el uso de NFRU permite pasar de 60 a 120 FPS de manera estable. Reduciendo además un 33% del tráfico hacia la memoria RAM, al no tener que renderizar un nuevo fotograma.

NSSD (Neural Super Sampling and Denoisng)
La tercera tecnología que soportan los aceleradores NX es NSSD (Neural Super Sampling and Denoising), una herramienta que combina en un mismo proceso el reescalado y un sistema de reconstrucción de rayos para eliminar el ruido de la imagen sin penalizar demasiado a la GPU.
Esta tecnología, similar a la que encontramos en sobremesas con GPUs de AMD y NVIDIA, tiene de nuevo una aplicación más directa en móviles, ya que debido a su bajo consumo, las capacidades de raytracing en GPUs de smartphones son limitadas y solo se pueden calcular pocos rayos y sus interacciones, lo que genera imágenes con mucho ruido.

Filtrar cada uno de esos fotogramas en una GPU que consume poco más de 2W no sería viable, por lo que NSSD aplica la IA basándose en un fotograma de baja resolución con raytracing que, posteriormente, limpia de grano y ruido al mismo tiempo que reconstruye detalles.
Al ir combinado con Super Sampling (reescalado), se aumenta también la resolución para tener una imagen de mayor nitidez con un bajo coste de cómputo.
ARM y Sumo Digital nos han mostrado la demo Neural Dawn, desarrollada sobre Unreal Engine 5.5 con la tecnología MegaLights. Este escenario gestiona hasta 1.400 fuentes de luz dinámica en tiempo real para demostrar lo que permite la combinación de NSSD y NFRU en un caso real,
Si la Mali G2-Ultra NX intentara renderizar esta escena de forma nativa a 1080p, alcanzaría unos 15 FPS, una cifra poco fluida que no se considera "jugable", al menos no de manera cómoda.

Sin embargo, renderizando con una resolución nativa de 540p, aplicando NSSD para reconstruir el fotograma y reescalarlo con detalle, además de filtrar el ruido del raytracing y usando NFRU para generar cuadros intermedios, la GPU es capaz de mantener 60 FPS estables con un consumo de poco más de 2 W.
Esto supone multiplicar por cuatro el rendimiento y la eficiencia energética.

Estas tecnologías de IA serán abiertas en repositorios de GitHub y Hugging Face
ARM distribuirá la tecnología de redes neuronales de NSS y NFRU de forma abierta a través de repositorios en Hugging Face (habrá que ver cómo queda la plataforma tras la reciente adquisición por parte de NVIDIA) y GitHub, permitiendo que los desarrolladores puedan ajustar y entrenar los modelos según sus preferencias.
Además, ofrecerán el "Neural Graphics Dev Kit" con extensiones de machine learning para Vulkan ML, herramientas de optimización y plugins para Unreal Engine y Unity.

Según ARM, adaptar un juego ya existente a esta plataforma lleva entre 3 y 6 meses de trabajo, mientras que integrarlo en un título nuevo desde cero requiere menos de 18 meses.
Fin del Artículo. ¡Cuéntanos algo en los Comentarios!




