GPU — cos'è, architettura e principio di funzionamento

Autore: IT Sectr Pubblicato: 2026-06-10 Tempo di lettura: 9 min

GPU (Graphics Processing Unit) è un processore specializzato per l'elaborazione parallela di dati grafici, che esegue milioni di calcoli su pixel e vertici per fotogramma. A differenza di una CPU, ottimizzata per attività sequenziali a bassa latenza, una GPU contiene migliaia di core a basso consumo per operazioni matematiche massive. Secondo il NVIDIA Developer Blog (2025), le GPU mobili moderne contengono fino a 1024 core e raggiungono 2 TFLOPS nei carichi di lavoro computazionali. Gli sviluppatori integrano GPU per rendering, post-elaborazione e apprendimento automatico sul dispositivo.

Punti Chiave

  • GPU è un processore specializzato con migliaia di core per l'elaborazione parallela di grafica e calcoli.
  • L'architettura GPU si basa sulla pipeline SIMD: un'istruzione viene eseguita simultaneamente su più dati.
  • GPU nei dispositivi mobili è integrata nel SoC e condivide la memoria con la CPU tramite l'architettura Unified Memory.
  • GPU Computing (GPGPU) utilizza il processore grafico per attività non grafiche: ML, crittografia, elaborazione del segnale.
  • API di accesso alla GPU su piattaforme mobili: Vulkan, Metal, OpenGL ES e WebGL per browser.

Cos'è una GPU?

GPU (Graphics Processing Unit) è un microchip specializzato progettato per il parallelismo massivo. Le prime GPU sono apparse alla fine degli anni '90 come acceleratori 3D per PC desktop. Da allora, l'architettura si è evoluta da pipeline fissa a shader programmabili e unità di calcolo universali.

Lo scopo principale di una GPU è la rasterizzazione: convertire dati geometrici (vertici, triangoli) in pixel sullo schermo. Il processo include trasformazione dei vertici, eliminazione delle superfici invisibili, texturizzazione e miscelazione dei colori. Tutte queste operazioni vengono eseguite in parallelo per migliaia di elementi simultaneamente.

Secondo Jon Peddie Research (2025), il mercato delle GPU mobili rappresenta il 58% del volume totale dei processori grafici, superando le soluzioni discrete per PC e server. Ogni smartphone contiene almeno una GPU integrata nel System-on-Chip (SoC) insieme a CPU, DSP e processore neurale.

Le GPU moderne si dividono in due tipi: integrate(incorporate nel SoC, condividono la memoria con la CPU) e discrete(scheda separata con propria memoria video). Lo sviluppo mobile utilizza esclusivamente GPU integrate — Qualcomm Adreno, ARM Mali, Apple GPU e Imagination PowerVR.

Storia dello sviluppo delle GPU

L'evoluzione della GPU ha attraversato tre fasi: pipeline fissa (1999–2006), shader unificati (2006–2016) e core di calcolo programmabili (2016 — presente). La prima fase definiva una sequenza rigida di operazioni — trasformazione, illuminazione, texturizzazione. Lo sviluppatore non poteva intervenire nella pipeline.

Con l'avvento degli shader unificati, la GPU ha ottenuto la capacità di eseguire programmi arbitrari — shader scritti in HLSL o GLSL. Questo ha aperto la strada al GPGPU — l'uso della GPU per attività non grafiche. La terza fase ha aggiunto core tensoriali per l'apprendimento automatico e ray tracing in tempo reale.

Nelle GPU mobili, la pietra miliare è stata l'introduzione del Tile-Based Deferred Rendering (TBDR) — un'architettura in cui il fotogramma viene diviso in tile (16x16 pixel) ed elaborato in memoria veloce sul chip. Ciò riduce il consumo energetico di 3–5 volte rispetto al rendering in modalità immediata tipico delle GPU desktop.

Architettura GPU

L'architettura GPU differisce radicalmente dalla CPU. Invece di pochi core potenti con grandi cache, una GPU contiene centinaia o migliaia di semplici unità di calcolo ottimizzate per SIMD (Single Instruction, Multiple Data) — un'istruzione viene eseguita su più elementi di dati.

Il blocco base di una GPU è lo Shader Core (nella terminologia NVIDIA) o l'Execution Unit (Intel). Diversi blocchi di questo tipo vengono combinati in Compute Units (AMD) o Streaming Multiprocessors (NVIDIA). Ogni blocco include ALU per l'aritmetica, un file di registri e uno scheduler di warp (gruppi di thread).

Le GPU mobili differiscono architetturalmente da quelle desktop. Qualcomm Adreno utilizza un'architettura con processori shader programmabili e un blocco di rasterizzazione dedicato. ARM Mali si basa su Bifrost o Valhall — architetture con elaborazione a quartetti di warp. Apple GPU ha un design proprietario dal 2017 con supporto Metal e memoria unificata.

ProduttoreLinea GPUArchitetturaAPI
QualcommAdreno 6xx/7xx/8xxProcessori Shader ProgrammabiliVulkan, OpenGL ES
ARMSerie Mali-GBifrost / ValhallVulkan, OpenGL ES
AppleApple GPU (A13–A18)Design PersonalizzatoMetal
ImaginationPowerVR IMGFurian / B-SeriesVulkan, OpenGL ES

Una caratteristica chiave delle GPU mobili è l'Unified Memory Architecture (UMA). GPU e CPU condividono la stessa RAM senza memoria video dedicata. Ciò riduce la latenza nello scambio di dati e semplifica la programmazione, ma limita la larghezza di banda sotto calcoli intensivi.

GPU vs CPU: Differenze Chiave

La CPU è progettata per attività sequenziali con latenza minima. Contiene 4–12 core potenti con grandi cache L1/L2/L3, predittori di salto ed esecuzione speculativa. La GPU, al contrario, sacrifica la latenza per il throughput — migliaia di core elaborano dati con alta latenza ma enorme prestazione aggregata.

La differenza è evidente in FLOPS (operazioni a virgola mobile al secondo). Un SoC mobile di punta nel 2025: CPU — 200 GFLOPS, GPU — 2400 GFLOPS. La GPU supera la CPU di 12 volte in attività che consentono il parallelismo. Tuttavia, per algoritmi sequenziali, la CPU rimane più veloce grazie al minore overhead di gestione dei thread.

In pratica, gli sviluppatori usano la CPU per la logica dell'applicazione, l'interfaccia utente e I/O, e la GPU per rendering, elaborazione delle immagini, simulazione fisica e inferenza di reti neurali. Secondo Google Android Performance Patterns (2025), il carico ottimale della GPU nelle applicazioni mobili è del 60–80% — il sovraccarico porta a throttling termico e surriscaldamento.

cpp
// 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;
}

Il codice CPU esegue la moltiplicazione sequenzialmente per ogni elemento. La versione GPU avvia 256 thread in parallelo, ciascuno moltiplica il proprio elemento. Con N=1 milione, la GPU completerà l'attività 100–1000 volte più velocemente di un singolo core CPU.

GPU nei Dispositivi Mobili

Le GPU mobili operano sotto rigide limitazioni termiche e di potenza. Il TDP tipico di una GPU mobile è di 2–8 W, contro i 150–450 W delle controparti desktop. Ciò richiede un'architettura speciale focalizzata sull'efficienza energetica anziché sulle prestazioni di picco.

La principale tecnologia di risparmio energetico è il Tile-Based Rendering. Il fotogramma viene diviso in tile di 16x16 o 32x32 pixel. Ogni tile viene completamente elaborato in SRAM veloce (Tile Memory), quindi scritto nella DRAM esterna. Ciò riduce gli accessi alla memoria di 4–10 volte rispetto alla modalità immediata.

Qualcomm Adreno è la GPU mobile più diffusa. Adreno 750 (Snapdragon 8 Gen 3) contiene 12 processori shader con un pool di registri condiviso. Supporta Vulkan 1.3, OpenGL ES 3.2, OpenCL 3.0 e ray tracing hardware. Secondo Qualcomm (2025), Adreno offre un miglioramento delle prestazioni del 45% generazione dopo generazione mantenendo il consumo energetico.

ARM Mali è la seconda GPU più popolare nei dispositivi Android. Mali-G720 si basa sull'architettura Valhall di 5ª generazione con supporto per Variable Rate Shading e ASTC HDR. Una caratteristica distintiva di Mali è l'elaborazione a quartetti: quattro thread vengono combinati in un warp per un migliore utilizzo delle ALU.

Apple GPU è progettata esclusivamente per Metal API. Dall'A13 Bionic, Apple utilizza un design GPU proprietario con supporto per Metal 3, ray tracing e mesh shader. L'architettura Apple GPU dispone di Unified Memory con larghezza di banda fino a 800 GB/s sul M4 Ultra.

Consumo energetico e throttling termico

Il throttling della GPU — riduzione della frequenza per surriscaldamento — è il problema principale nei giochi mobili. Sotto carico prolungato, la temperatura del SoC raggiunge 85–95 °C e la GPU riduce la frequenza del 30–50%. Secondo AnandTech (2025), la Qualcomm Adreno 750 perde fino al 35% delle prestazioni dopo 15 minuti in Genshin Impact.

Gli sviluppatori possono mitigare il throttling attraverso l'ottimizzazione delle draw call, la riduzione della risoluzione di rendering e l'uso di Foveated Rendering. Metal Performance Shaders su iOS e Android Frame Pacing API su Android aiutano a sincronizzare il carico con il budget termico del dispositivo.

GPGPU: Calcolo su GPU

GPGPU (General-Purpose computing on GPU) è l'uso di un processore grafico per calcoli non grafici. L'idea è nata a metà degli anni 2000, quando gli sviluppatori hanno scoperto che gli shader potevano essere adattati per operazioni matriciali, crittografia e simulazione fisica.

Oggi, GPGPU è uno strumento standard per attività che richiedono parallelismo massivo: apprendimento automatico (training e inferenza di reti neurali), crittografia (hashing, cifratura), elaborazione di immagini e video (filtri, codec) e simulazioni scientifiche (fluidodinamica, chimica quantistica).

Sui dispositivi mobili, GPGPU è accessibile tramite Compute Shaders — shader senza output grafico che lavorano solo con dati. Un Compute Shader avvia una griglia di gruppi di lavoro, ciascun gruppo contiene più thread. L'accesso alla memoria avviene tramite buffer e texture senza legame con lo schermo.

glsl
#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;
}

L'esempio di compute shader calcola la radice quadrata per ogni elemento dell'array. Un gruppo di lavoro 16x16 elabora 256 elementi simultaneamente. Le GPU mobili moderne supportano fino a 1024 gruppi di lavoro e milioni di thread globali.

API per Lavorare con GPU

Le API di accesso alla GPU determinano come gli sviluppatori inviano comandi e dati al processore grafico. Tre API principali sono utilizzate sulle piattaforme mobili: Vulkan, Metal e OpenGL ES. Ognuna ha i suoi vantaggi e limiti che influenzano prestazioni e compatibilità.

Vulkan

Vulkan è un'API multipiattaforma di basso livello del Khronos Group, successore di OpenGL. Vulkan offre agli sviluppatori il controllo diretto sulla memoria GPU, le code di comandi e la sincronizzazione. Secondo Khronos (2025), Vulkan fornisce un miglioramento delle prestazioni del 30–60% rispetto a OpenGL ES riducendo l'overhead del driver.

Su Android, Vulkan è obbligatorio da Android 7.0 (API 24), e tutti i SoC moderni supportano Vulkan 1.3. Vulkan Memory Allocator e SPIR-V come rappresentazione intermedia consentono di scrivere shader in GLSL, HLSL o Rust GPU.

Metal

Metal è l'API proprietaria di Apple per GPU su tutti i dispositivi dell'ecosistema: iPhone, iPad, Mac, Apple TV. Metal offre overhead minimo e tempi di esecuzione dei comandi prevedibili. Secondo Apple Developer Documentation (2025), Metal gestisce fino a 100.000 draw call per fotogramma senza cali di FPS.

Una caratteristica principale è Metal Shading Language (MSL) basato su C++. Gli shader vengono compilati in codice macchina insieme all'applicazione, eliminando la compilazione JIT tipica di Vulkan. Metal supporta Mesh Shaders, Ray Tracing e Dynamic Libraries per caricare shader in fase di esecuzione.

OpenGL ES

OpenGL ES è una versione semplificata di OpenGL per sistemi embedded. Viene utilizzato su dispositivi vecchi e per compatibilità all'indietro. OpenGL ES 3.2 è supportato sul 94% dei dispositivi Android secondo Android Studio (2025). Per i nuovi progetti, Google raccomanda Vulkan invece di OpenGL ES.

WebGL è l'analogo di OpenGL ES per browser, la base per la grafica 3D sul web. WebGL 2.0 (corrispondente a OpenGL ES 3.0) è supportato sul 92% dei browser mobili. WebGPU è la prossima generazione, con un'architettura vicina a Vulkan e Metal.

Domande Frequenti

In cosa si differenzia una GPU mobile da una desktop?

Una GPU mobile opera entro un budget termico di 2–8 W, utilizza Tile-Based Rendering per il risparmio energetico e condivide la memoria con la CPU tramite UMA. Una GPU desktop consuma 150–450 W, ha memoria video dedicata (GDDR) e utilizza Immediate Mode Rendering.

Quale GPU mobile è la più potente nel 2026?

Apple GPU nei chip M4 Ultra e A18 Pro è leader in prestazioni per watt tra le GPU mobili. Tra i dispositivi Android, guidano Qualcomm Adreno 850 in Snapdragon 8 Gen 4 e ARM Mali-G925 in MediaTek Dimensity 9500.

Si può usare la GPU per l'apprendimento automatico su dispositivi mobili?

Sì, la GPU è attivamente utilizzata per l'inferenza di reti neurali tramite Core ML su iOS e TensorFlow Lite / NNAPI su Android. Secondo Google (2025), l'accelerazione GPU offre un miglioramento della velocità di 3–10 volte rispetto alla CPU.

Perché la GPU si surriscalda e va in throttling nei giochi mobili?

Il throttling si verifica quando il budget termico viene superato. Sotto carico prolungato, la temperatura del SoC raggiunge 85–95 °C e la GPU riduce la frequenza per proteggere il chip. La soluzione è ottimizzare il rendering e utilizzare limiti FPS (30–45 FPS).

Quale API scegliere per la grafica GPU su Android?

Vulkan è la scelta principale per i nuovi progetti. OpenGL ES è per la compatibilità all'indietro con dispositivi vecchi. Metal è obbligatorio per iOS. Per lo sviluppo multipiattaforma, utilizzare framework come Unity, Unreal Engine o Filament.

Riepilogo

  • GPU è un processore specializzato con migliaia di core per l'elaborazione parallela di dati e l'accelerazione grafica.
  • L'architettura GPU utilizza pipeline SIMD, Tile-Based Rendering e Unified Memory per SoC mobili.
  • GPU vs CPU: GPU supera CPU di 10–12 volte in FLOPS in attività massivamente parallele, ma è in ritardo negli algoritmi sequenziali.
  • Le GPU mobili di Qualcomm, ARM, Apple e Imagination operano entro un limite stretto di 2–8 W e sono soggette a throttling.
  • GPGPU tramite Compute Shaders è utilizzato per ML, crittografia, elaborazione immagini e simulazioni scientifiche.
  • Vulkan e Metal sono le principali API per applicazioni mobili moderne, che forniscono controllo di basso livello sulla GPU.
  • L'ottimizzazione GPU include la gestione delle draw call, i limiti FPS e il Foveated Rendering per ridurre la produzione di calore.

Svilupperemo un'applicazione mobile chiavi in mano

IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.

Discuti il progetto

Leggi anche