GPU (Graphics Processing Unit) — este un procesor specializat pentru prelucrarea paralelă a datelor grafice, care execută milioane de calcule pe pixeli și vârfuri per cadru. Spre deosebire de CPU, optimizat pentru sarcini secvențiale cu latență redusă, GPU conține mii de nuclee de putere redusă pentru operații matematice masive. Conform NVIDIA Developer Blog (2025), GPU-urile mobile moderne conțin până la 1024 de nuclee și ating o performanță de 2 TFLOPS în sarcinile de calcul. Dezvoltatorii integrează GPU pentru randare, post-procesare și învățare automată pe dispozitiv.
Principalele puncte
GPU (Graphics Processing Unit) — este un microcip specializat proiectat pentru paralelism în masă. Primele GPU-uri au apărut la sfârșitul anilor 1990 ca acceleratoare 3D pentru PC-uri desktop. De atunci, arhitectura a evoluat de la pipeline fix la shadere programabile și blocuri de calcul universale.
Scopul principal al GPU-ului — rasterizarea: transformarea datelor geometrice (vârfuri, triunghiuri) în pixeli pe ecran. Procesul include transformarea vârfurilor, tăierea suprafețelor invizibile, texturarea și amestecarea culorilor. Toate aceste operații sunt executate paralel pentru mii de elemente simultan.
Conform Jon Peddie Research (2025), piața GPU-urilor mobile reprezintă 58% din volumul total al procesoarelor grafice, depășind soluțiile discrete pentru PC și servere. Fiecare smartphone conține cel puțin un GPU integrat în System-on-Chip (SoC) împreună cu CPU, DSP și neuroprocesor.
GPU-urile moderne se împart în două tipuri: integrate (încorporate în SoC, partajează memoria cu CPU) și discrete (placă separată cu memorie video proprie). În dezvoltarea mobilă se utilizează exclusiv GPU-uri integrate — Qualcomm Adreno, ARM Mali, Apple GPU și Imagination PowerVR.
Evoluția GPU a trecut prin trei etape: pipeline fix (1999–2006), shadere unificate (2006–2016) și nuclee de calcul programabile (2016 — prezent). Prima etapă definea o secvență rigidă de operații — transformare, iluminare, texturare. Dezvoltatorul nu putea interveni în pipeline.
Odată cu apariția shaderelor unificate, GPU a primit capacitatea de a executa programe arbitrare — shadere scrise în HLSL sau GLSL. Aceasta a deschis calea către GPGPU — utilizarea GPU-ului pentru sarcini non-grafice. A treia etapă a adăugat nuclee tensor pentru învățare automată și ray tracing în timp real.
În GPU-urile mobile, punctul de cotitură cheie a fost introducerea Tile-Based Deferred Rendering (TBDR) — arhitectura în care cadrul este împărțit în tile-uri (16x16 pixeli) și procesat în memoria locală rapidă. Aceasta reduce consumul de energie de 3–5 ori comparativ cu immediate mode rendering, caracteristic GPU-urilor desktop.
Arhitectura GPU diferă radical de CPU. În loc de câteva nuclee puternice cu cache mare, GPU conține sute sau mii de blocuri de calcul simple optimizate pentru SIMD (Single Instruction, Multiple Data) — o singură instrucțiune este executată pe mai multe elemente de date.
Blocul de bază al GPU-ului — Shader Core (în terminologia NVIDIA) sau Execution Unit (Intel). Mai multe astfel de blocuri se combină în Compute Unit (AMD) sau Streaming Multiprocessor (NVIDIA). Fiecare bloc include ALU pentru aritmetică, fișier de registre și planificator de warp-uri (grupuri de fire).
GPU-urile mobile diferă arhitectural de cele desktop. Qualcomm Adreno utilizează o arhitectură cu procesoare de shadere programabile și un bloc dedicat de rasterizare. ARM Mali se bazează pe Bifrost sau Valhall — arhitecturi cu procesare cvartetă a warp-urilor. Apple GPU din 2017 are un design propriu cu suport pentru Metal și memorie unificată.
| Producător | Linie GPU | Arhitectură | API |
|---|---|---|---|
| Qualcomm | Adreno 6xx/7xx/8xx | Procesoare de shadere programabile | Vulkan, OpenGL ES |
| ARM | Seria Mali-G | Bifrost / Valhall | Vulkan, OpenGL ES |
| Apple | Apple GPU (A13–A18) | Design propriu | Metal |
| Imagination | PowerVR IMG | Furian / B-Series | Vulkan, OpenGL ES |
Caracteristica cheie a GPU-urilor mobile — Unified Memory Architecture (UMA). GPU și CPU utilizează memoria RAM comună fără memorie video separată. Aceasta reduce latența la schimbul de date și simplifică programarea, dar limitează lățimea de bandă la calcule intensive.
CPU este proiectat pentru sarcini secvențiale cu latență minimă. Conține 4–12 nuclee puternice cu cache mare L1/L2/L3, predictor de salturi și execuție speculativă. GPU, dimpotrivă, sacrifică latența pentru lățime de bandă — mii de nuclee procesează date cu latență mare, dar cu performanță cumulativă uriașă.
Diferența se manifestă în FLOPS (operații cu virgulă mobilă pe secundă). Cel mai performant SoC mobil din 2025: CPU — 200 GFLOPS, GPU — 2400 GFLOPS. GPU depășește CPU de 12 ori în sarcinile care admit paralelism. Totuși, pentru algoritmii secvențiali CPU rămâne mai rapid datorită costurilor mai mici de gestionare a firelor.
În practică, dezvoltatorul folosește CPU pentru logica aplicației, UI și IO, iar GPU pentru randare, procesare de imagini, simulare fizică și inferență a rețelelor neuronale. Conform Google Android Performance Patterns (2025), încărcarea optimă a GPU-ului în aplicațiile mobile este de 60–80% — suprasolicitarea duce la throttling și supraîncălzire.
// CPU — procesare secvențială
for (int i = 0; i < N; i++) {
result[i] = data[i] * 2.0f;
}
// GPU — procesare paralelă (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;
}
Codul pe CPU execută înmulțirea secvențial pentru fiecare element. Versiunea GPU lansează 256 de fire paralel, fiecare înmulțind propriul element. La N=1 milion, GPU va executa sarcina de 100–1000 de ori mai rapid decât CPU pe un singur nucleu.
GPU-urile mobile funcționează în limite stricte de degajare termică și consum de energie. TDP-ul tipic al unui GPU mobil este de 2–8 W, față de 150–450 W la omologii desktop. Aceasta necesită o arhitectură specială cu accent pe eficiență energetică, nu pe performanță de vârf.
Principala tehnologie de economisire a energiei — Tile-Based Rendering. Cadrul este împărțit în tile-uri de 16x16 sau 32x32 pixeli. Fiecare tile este procesat integral în memoria SRAM rapidă (Tile Memory), apoi scris în DRAM extern. Aceasta reduce accesele la memorie de 4–10 ori comparativ cu immediate mode.
Qualcomm Adreno — cel mai răspândit GPU mobil. Adreno 750 (Snapdragon 8 Gen 3) conține 12 procesoare de shadere cu un pool comun de registre. Suportă Vulkan 1.3, OpenGL ES 3.2, OpenCL 3.0 și ray tracing la nivel de nucleu. Conform Qualcomm (2025), Adreno oferă o creștere de performanță de 45% per generație, menținând consumul de energie.
ARM Mali — al doilea GPU ca popularitate în dispozitivele Android. Mali-G720 se bazează pe arhitectura Valhall de generația a 5-a cu suport pentru Variable Rate Shading și ASTC HDR. Particularitatea Mali — procesarea cvartetă: patru fire sunt combinate într-un singur warp pentru o mai bună utilizare a ALU.
Apple GPU este proiectat exclusiv pentru Metal API. Începând cu A13 Bionic, Apple utilizează propriul design GPU cu suport pentru Metal 3, ray tracing și mesh-shadere. Arhitectura Apple GPU se distinge prin Unified Memory cu o lățime de bandă de până la 800 GB/s pe M4 Ultra.
Throttling-ul GPU — reducerea frecvenței la supraîncălzire — principala problemă a jocurilor mobile. La sarcină prelungită, temperatura SoC atinge 85–95°C, iar GPU reduce frecvența cu 30–50%. Conform AnandTech (2025), Qualcomm Adreno 750 pierde până la 35% din performanță după 15 minute în Genshin Impact.
Dezvoltatorul poate atenua throttling-ul prin optimizarea draw-call-urilor, reducerea rezoluției de randare și utilizarea Foveated Rendering. Metal Performance Shaders pe iOS și Android Frame Pacing API pe Android ajută la sincronizarea încărcării cu bugetul termic al dispozitivului.
GPGPU (General-Purpose computing on GPU) — utilizarea procesorului grafic pentru calcule non-grafice. Ideea s-a născut la mijlocul anilor 2000, când dezvoltatorii au observat că shaderele pot fi adaptate pentru operații matriceale, criptografie și simulare fizică.
Astăzi, GPGPU este un instrument standard pentru sarcinile care necesită paralelism în masă: învățare automată (antrenarea și inferența rețelelor neuronale), criptografie (hash-uri, criptare), procesare de imagini și video (filtre, codecuri), simulări științifice (hidrodinamică, chimie cuantică).
Pe dispozitivele mobile, GPGPU se aplică prin Compute Shaders — shadere fără ieșire grafică, care lucrează doar cu date. Compute Shader lansează un Grid de grupuri de lucru, fiecare grup conține mai multe fire. Accesul la memorie — prin buffere și texturi fără legătură cu ecranul.
#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;
}
Exemplul de compute shader calculează rădăcina pătrată pentru fiecare element al array-ului. Grupul de lucru 16x16 procesează 256 de elemente simultan. GPU-urile mobile moderne suportă până la 1024 de grupuri de lucru și milioane de fire globale.
API de acces la GPU determină modul în care dezvoltatorul trimite comenzi și date către procesorul grafic. Pe platformele mobile se utilizează trei API-uri principale: Vulkan, Metal și OpenGL ES. Fiecare are avantajele și limitările sale care influențează performanța și compatibilitatea.
Vulkan — un API cross-platform de nivel scăzut de la Khronos Group, succesorul OpenGL. Vulkan oferă dezvoltatorului control direct asupra memoriei GPU, cozilor de comenzi și sincronizării. Conform Khronos (2025), Vulkan asigură o creștere a performanței de 30–60% față de OpenGL ES datorită reducerii costurilor driverului.
Pe Android, Vulkan este obligatoriu de la Android 7.0 (API 24), dar toate SoC-urile moderne suportă Vulkan 1.3. Vulkan Memory Allocator și SPIR-V ca cod intermediar permit scrierea shaderelor în GLSL, HLSL sau Rust GPU.
Metal — API-ul proprietar Apple pentru GPU pe toate dispozitivele ecosistemului: iPhone, iPad, Mac, Apple TV. Metal asigură costuri minime și timp de execuție previzibil al comenzilor. Conform Apple Developer Documentation (2025), Metal procesează până la 100.000 de draw-call-uri per cadru fără scădere de FPS.
Caracteristica cheie — Metal Shading Language (MSL) bazat pe C++. Shaderele sunt compilate în cod mașină împreună cu aplicația, eliminând compilarea JIT tipică pentru Vulkan. Metal suportă Mesh Shaders, Ray Tracing și Dynamic Libraries pentru încărcarea shaderelor în runtime.
OpenGL ES — versiunea simplificată a OpenGL pentru sisteme încorporate. Este utilizat pe dispozitive mai vechi și pentru asigurarea compatibilității inverse. OpenGL ES 3.2 este suportat pe 94% din dispozitivele Android conform Android Studio (2025). Pentru proiecte noi, Google recomandă Vulkan în locul OpenGL ES.
WebGL — analogul browseristic al OpenGL ES, baza graficii 3D pe web. WebGL 2.0 (corespunzător OpenGL ES 3.0) este suportat pe 92% din browserele mobile. WebGPU — următoarea generație, cu arhitectură apropiată de Vulkan și Metal.
Întrebări frecvente
GPU-ul mobil funcționează în pachet termic de 2–8 W, utilizează Tile-Based Rendering pentru economisirea energiei și partajează memoria cu CPU prin UMA. GPU-ul desktop consumă 150–450 W, are memorie video separată (GDDR) și utilizează Immediate Mode Rendering.
Apple GPU în cipurile M4 Ultra și A18 Pro — lider în performanță per watt printre GPU-urile mobile. Printre dispozitivele Android, conduc Qualcomm Adreno 850 în Snapdragon 8 Gen 4 și ARM Mali-G925 în MediaTek Dimensity 9500.
Da, GPU este utilizat activ pentru inferența rețelelor neuronale prin Core ML pe iOS și TensorFlow Lite / NNAPI pe Android. Conform Google (2025), accelerarea GPU oferă o creștere a vitezei de 3–10 ori față de CPU.
Throttling-ul apare din cauza depășirii bugetului termic. La sarcină prelungită, temperatura SoC atinge 85–95°C, iar GPU reduce frecvența pentru a proteja cipul. Soluția — optimizarea randării și utilizarea limitelor de FPS (30–45 FPS).
Vulkan — alegerea principală pentru proiecte noi. OpenGL ES — pentru compatibilitate inversă cu dispozitive mai vechi. Metal — obligatoriu pentru iOS. Pentru dezvoltare cross-platform, utilizați framework-uri precum Unity, Unreal Engine sau Filament.
Rezumat
Vom dezvolta o aplicație mobilă la cheie
IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.
Citiți și