GPU (Graphics Processing Unit) es un procesador especializado para el procesamiento paralelo de datos gráficos, que realiza millones de cálculos sobre píxeles y vértices por fotograma. A diferencia de una CPU, optimizada para tareas secuenciales de baja latencia, una GPU contiene miles de núcleos de bajo consumo para operaciones matemáticas masivas. Según NVIDIA Developer Blog (2025), las GPU móviles modernas contienen hasta 1024 núcleos y alcanzan 2 TFLOPS en cargas de trabajo computacionales. Los desarrolladores integran GPU para renderizado, posprocesamiento y aprendizaje automático en el dispositivo.
Puntos Clave
GPU (Graphics Processing Unit) es un microchip especializado diseñado para el paralelismo masivo. Las primeras GPU aparecieron a finales de la década de 1990 como aceleradores de gráficos 3D para PC de escritorio. Desde entonces, la arquitectura ha evolucionado desde un pipeline fijo hasta shaders programables y unidades de cómputo universales.
El propósito principal de una GPU es la rasterización: convertir datos geométricos (vértices, triángulos) en píxeles en la pantalla. El proceso incluye transformación de vértices, eliminación de superficies invisibles, texturizado y mezcla de colores. Todas estas operaciones se realizan en paralelo para miles de elementos simultáneamente.
Según Jon Peddie Research (2025), el mercado de GPU móviles representa el 58% del volumen total de procesadores gráficos, superando a las soluciones discretas para PC y servidores. Cada smartphone contiene al menos una GPU integrada en el System-on-Chip (SoC) junto con la CPU, el DSP y el procesador neuronal.
Las GPU modernas se dividen en dos tipos: integradas (incorporadas en el SoC, comparten memoria con la CPU) y discretas (placa separada con su propia memoria de vídeo). El desarrollo móvil utiliza exclusivamente GPU integradas: Qualcomm Adreno, ARM Mali, Apple GPU e Imagination PowerVR.
La evolución de la GPU ha pasado por tres etapas: pipeline fijo (1999–2006), shaders unificados (2006–2016) y núcleos de cómputo programables (2016 — presente). La primera etapa definía una secuencia rígida de operaciones: transformación, iluminación, texturizado. Los desarrolladores no podían intervenir en el pipeline.
Con la llegada de los shaders unificados, la GPU obtuvo la capacidad de ejecutar programas arbitrarios — shaders escritos en HLSL o GLSL. Esto abrió la puerta a GPGPU: el uso de la GPU para tareas no gráficas. La tercera etapa añadió núcleos tensoriales para aprendizaje automático y trazado de rayos en tiempo real.
En las GPU móviles, el hito clave fue la introducción del Tile-Based Deferred Rendering (TBDR): una arquitectura donde el fotograma se divide en baldosas (16x16 píxeles) y se procesa en memoria rápida en el chip. Esto reduce el consumo de energía entre 3 y 5 veces en comparación con el renderizado en modo inmediato, típico de las GPU de escritorio.
La arquitectura de GPU difiere radicalmente de la CPU. En lugar de unos pocos núcleos potentes con grandes cachés, una GPU contiene cientos o miles de unidades de cómputo simples optimizadas para SIMD (Single Instruction, Multiple Data): una instrucción se ejecuta sobre múltiples elementos de datos.
El bloque básico de una GPU es el Shader Core (en términos de NVIDIA) o Execution Unit (Intel). Varios bloques de este tipo se combinan en Compute Units (AMD) o Streaming Multiprocessors (NVIDIA). Cada bloque incluye ALU para aritmética, un archivo de registros y un planificador de warps (grupos de hilos).
Las GPU móviles difieren arquitectónicamente de las de escritorio. Qualcomm Adreno utiliza una arquitectura con procesadores shader programables y un bloque de rasterización dedicado. ARM Mali se basa en Bifrost o Valhall — arquitecturas con procesamiento cuádruple de warps. Apple GPU tiene su propio diseño desde 2017 con soporte para Metal y memoria unificada.
| Fabricante | Línea de GPU | Arquitectura | API |
|---|---|---|---|
| Qualcomm | Adreno 6xx/7xx/8xx | Procesadores Shader Programables | Vulkan, OpenGL ES |
| ARM | Serie Mali-G | Bifrost / Valhall | Vulkan, OpenGL ES |
| Apple | Apple GPU (A13–A18) | Diseño Propio | Metal |
| Imagination | PowerVR IMG | Furian / B-Series | Vulkan, OpenGL ES |
Una característica clave de las GPU móviles es la Unified Memory Architecture (UMA). La GPU y la CPU comparten la misma RAM sin memoria de vídeo dedicada. Esto reduce la latencia en el intercambio de datos y simplifica la programación, pero limita el ancho de banda bajo cálculos intensivos.
La CPU está diseñada para tareas secuenciales con latencia mínima. Contiene de 4 a 12 núcleos potentes con grandes cachés L1/L2/L3, predictores de ramificación y ejecución especulativa. La GPU, por el contrario, sacrifica latencia por rendimiento: miles de núcleos procesan datos con alta latencia pero una enorme capacidad agregada.
La diferencia es evidente en FLOPS (operaciones de punto flotante por segundo). Un SoC móvil de gama alta en 2025: CPU — 200 GFLOPS, GPU — 2400 GFLOPS. La GPU supera a la CPU en 12 veces en tareas que permiten paralelismo. Sin embargo, para algoritmos secuenciales, la CPU sigue siendo más rápida debido a la menor sobrecarga de gestión de hilos.
En la práctica, los desarrolladores usan la CPU para la lógica de la aplicación, la interfaz de usuario y las E/S, y la GPU para el renderizado, el procesamiento de imágenes, la simulación física y la inferencia de redes neuronales. Según Google Android Performance Patterns (2025), la carga óptima de la GPU en aplicaciones móviles es del 60–80%: la sobrecarga provoca estrangulamiento térmico y sobrecalentamiento.
// CPU — sequential processing
for (int i = 0; i < N; i++) {
result[i] = data[i] * 2.0f;
}
// GPU — parallel processing (GLSL compute shader)
#version 300 es
layout(local_size_x = 256) in;
void main() {
uint idx = gl_GlobalInvocationID.x;
result[idx] = data[idx] * 2.0f;
}
El código en CPU realiza la multiplicación secuencialmente para cada elemento. La versión en GPU lanza 256 hilos en paralelo, cada uno multiplica su propio elemento. Con N=1 millón, la GPU completará la tarea entre 100 y 1000 veces más rápido que un solo núcleo de CPU.
Las GPU móviles operan bajo estrictas limitaciones térmicas y de potencia. El TDP típico de una GPU móvil es de 2–8 W, en comparación con 150–450 W de sus homólogas de escritorio. Esto requiere una arquitectura especial centrada en la eficiencia energética en lugar del rendimiento máximo.
La principal tecnología de ahorro de energía es el Tile-Based Rendering. El fotograma se divide en baldosas de 16x16 o 32x32 píxeles. Cada baldosa se procesa completamente en SRAM rápida (Tile Memory) y luego se escribe en la DRAM externa. Esto reduce los accesos a memoria entre 4 y 10 veces en comparación con el modo inmediato.
Qualcomm Adreno es la GPU móvil más extendida. Adreno 750 (Snapdragon 8 Gen 3) contiene 12 procesadores shader con un conjunto de registros compartido. Admite Vulkan 1.3, OpenGL ES 3.2, OpenCL 3.0 y trazado de rayos por hardware. Según Qualcomm (2025), Adreno ofrece una mejora de rendimiento del 45% generación tras generación manteniendo el consumo de energía.
ARM Mali es la segunda GPU más popular en dispositivos Android. Mali-G720 se basa en la arquitectura Valhall de 5.ª generación con soporte para Variable Rate Shading y ASTC HDR. Una característica distintiva de Mali es el procesamiento cuádruple: cuatro hilos se combinan en un warp para una mejor utilización de la ALU.
Apple GPU está diseñada exclusivamente para Metal API. Desde el A13 Bionic, Apple utiliza su propio diseño de GPU con soporte para Metal 3, trazado de rayos y mesh shaders. La arquitectura de Apple GPU cuenta con Unified Memory con un ancho de banda de hasta 800 GB/s en el M4 Ultra.
El estrangulamiento térmico de la GPU — reducción de frecuencia por sobrecalentamiento — es el principal problema en los juegos móviles. Bajo carga sostenida, la temperatura del SoC alcanza los 85–95 °C y la GPU reduce la frecuencia entre un 30 y un 50%. Según AnandTech (2025), la Qualcomm Adreno 750 pierde hasta un 35% de rendimiento después de 15 minutos en Genshin Impact.
Los desarrolladores pueden mitigar el estrangulamiento mediante la optimización de draw calls, la reducción de la resolución de renderizado y el uso de Foveated Rendering. Metal Performance Shaders en iOS y Android Frame Pacing API en Android ayudan a sincronizar la carga con el presupuesto térmico del dispositivo.
GPGPU (General-Purpose computing on GPU) es el uso de un procesador gráfico para cálculos no gráficos. La idea se originó a mediados de la década de 2000, cuando los desarrolladores se dieron cuenta de que los shaders podían adaptarse para operaciones matriciales, criptografía y simulación física.
Hoy en día, GPGPU es una herramienta estándar para tareas que requieren paralelismo masivo: aprendizaje automático (entrenamiento e inferencia de redes neuronales), criptografía (hash, cifrado), procesamiento de imágenes y vídeo (filtros, códecs) y simulaciones científicas (dinámica de fluidos, química cuántica).
En dispositivos móviles, GPGPU se accede a través de Compute Shaders: shaders sin salida gráfica que trabajan solo con datos. Un Compute Shader lanza una cuadrícula de grupos de trabajo, cada uno con varios hilos. El acceso a la memoria se realiza mediante búferes y texturas sin vinculación con la pantalla.
#version 310 es
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0) buffer Input { float data[]; };
layout(binding = 1) buffer Output { float result[]; };
void main() {
uvec2 idx = gl_GlobalInvocationID.xy;
uint offset = idx.y * gl_NumWorkGroups.x * gl_WorkGroupSize.x + idx.x;
result[offset] = sqrt(data[offset]) + 1.0;
}
El compute shader de ejemplo calcula la raíz cuadrada de cada elemento del array. Un grupo de trabajo de 16x16 procesa 256 elementos simultáneamente. Las GPU móviles modernas admiten hasta 1024 grupos de trabajo y millones de hilos globales.
Las API de acceso a GPU determinan cómo los desarrolladores envían comandos y datos al procesador gráfico. Se utilizan tres API principales en plataformas móviles: Vulkan, Metal y OpenGL ES. Cada una tiene sus ventajas y limitaciones que afectan al rendimiento y la compatibilidad.
Vulkan es una API multiplataforma de bajo nivel del Khronos Group, sucesora de OpenGL. Vulkan ofrece a los desarrolladores control directo sobre la memoria de la GPU, las colas de comandos y la sincronización. Según Khronos (2025), Vulkan proporciona una mejora de rendimiento del 30–60% sobre OpenGL ES al reducir la sobrecarga del controlador.
En Android, Vulkan es obligatorio desde Android 7.0 (API 24), y todos los SoC modernos admiten Vulkan 1.3. Vulkan Memory Allocator y SPIR-V como representación intermedia permiten escribir shaders en GLSL, HLSL o Rust GPU.
Metal es la API propietaria de Apple para GPU en todos los dispositivos del ecosistema: iPhone, iPad, Mac, Apple TV. Metal proporciona una sobrecarga mínima y un tiempo de ejecución de comandos predecible. Según Apple Developer Documentation (2025), Metal maneja hasta 100 000 draw calls por fotograma sin caídas de FPS.
Una característica clave es Metal Shading Language (MSL) basado en C++. Los shaders se compilan a código máquina junto con la aplicación, eliminando la compilación JIT típica de Vulkan. Metal admite Mesh Shaders, Ray Tracing y Dynamic Libraries para cargar shaders en tiempo de ejecución.
OpenGL ES es una versión simplificada de OpenGL para sistemas integrados. Se utiliza en dispositivos antiguos y para compatibilidad hacia atrás. OpenGL ES 3.2 es compatible con el 94% de los dispositivos Android según Android Studio (2025). Para proyectos nuevos, Google recomienda Vulkan en lugar de OpenGL ES.
WebGL es el análogo de OpenGL ES para navegadores, la base de los gráficos 3D en la web. WebGL 2.0 (correspondiente a OpenGL ES 3.0) es compatible con el 92% de los navegadores móviles. WebGPU es la próxima generación, con una arquitectura cercana a Vulkan y Metal.
Preguntas Frecuentes
Una GPU móvil funciona dentro de un presupuesto térmico de 2–8 W, utiliza Tile-Based Rendering para ahorrar energía y comparte memoria con la CPU mediante UMA. Una GPU de escritorio consume 150–450 W, tiene memoria de vídeo dedicada (GDDR) y utiliza Immediate Mode Rendering.
Apple GPU en los chips M4 Ultra y A18 Pro lidera en rendimiento por vatio entre las GPU móviles. Entre los dispositivos Android, lideran Qualcomm Adreno 850 en Snapdragon 8 Gen 4 y ARM Mali-G925 en MediaTek Dimensity 9500.
Sí, la GPU se utiliza activamente para la inferencia de redes neuronales a través de Core ML en iOS y TensorFlow Lite / NNAPI en Android. Según Google (2025), la aceleración por GPU proporciona una mejora de velocidad de 3 a 10 veces en comparación con la CPU.
El estrangulamiento térmico se produce cuando se supera el presupuesto térmico. Bajo carga sostenida, la temperatura del SoC alcanza 85–95 °C y la GPU reduce la frecuencia para proteger el chip. La solución es optimizar el renderizado y usar límites de FPS (30–45 FPS).
Vulkan es la opción principal para proyectos nuevos. OpenGL ES es para compatibilidad con dispositivos antiguos. Metal es obligatorio para iOS. Para desarrollo multiplataforma, use frameworks como Unity, Unreal Engine o Filament.
Resumen
Desarrollaremos una aplicación móvil llave en mano
IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.
Lea también