GPU (Graphics Processing Unit) — је специјализовани процесор за паралелну обраду графичких података, који извршава милионе прорачуна над пикселима и теменима по кадру. За разлику од CPU-а, који је оптимизован за секвенцијалне задатке са малим кашњењем, GPU садржи хиљаде малих језгара за масовне математичке операције. Према NVIDIA Developer Blog (2025), савремени мобилни GPU-и садрже до 1024 језгра и достижу перформансе од 2 TFLOPS у рачунарским оптерећењима. Програмери интегришу GPU за рендеровање, пост-обраду и машинско учење на уређају.
Главно
GPU (Graphics Processing Unit) — је специјализовани микрочип дизајниран за масовни паралелизам. Први GPU-и су се појавили крајем 1990-их као акцелератори 3D графике за десктоп рачунаре. Од тада је архитектура еволуирала од фиксног конвејера до програмабилних шејдера и универзалних рачунарских блокова.
Основна намена GPU-а — растеризација: претварање геометријских података (темена, троуглови) у пикселе на екрану. Процес укључује трансформацију темена, одсецање невидљивих површина, текстурирање и мешање боја. Све ове операције се извршавају паралелно за хиљаде елемената истовремено.
Према Jon Peddie Research (2025), тржиште мобилних GPU-а чини 58% укупног обима графичких процесора, надмашујући дискретна решења за рачунаре и сервере. Сваки паметни телефон садржи најмање један GPU интегрисан у System-on-Chip (SoC) заједно са CPU-ом, DSP-ом и неуропроцесором.
Савремени GPU-и се деле на два типа: интегрисани (уграђени у SoC, деле меморију са CPU-ом) и дискретни (посебна картица са сопственом видео меморијом). У мобилном развоју користе се искључиво интегрисани GPU-и — Qualcomm Adreno, ARM Mali, Apple GPU и Imagination PowerVR.
Еволуција GPU-а је прошла три фазе: фиксни конвејер (1999–2006), унификовани шејдери (2006–2016) и програмабилна рачунарска језгра (2016 — данас). Прва фаза је дефинисала круту секвенцу операција — трансформација, осветљење, текстурирање. Програмер није могао да утиче на конвејер.
Са појавом унификованих шејдера, GPU је добио могућност извршавања произвољних програма — шејдера написаних у HLSL или GLSL. Ово је отворило пут ка GPGPU-у — коришћењу GPU-а за неграфичке задатке. Трећа фаза је додала тензорска језгра за машинско учење и праћење зрака у реалном времену.
У мобилним GPU-има, кључна прекретница је било увођење Tile-Based Deferred Rendering (TBDR) — архитектуре у којој се кадар дели на тајлове (16x16 пиксела) и обрађује у брзој локалној меморији. Ово смањује потрошњу енергије 3–5 пута у поређењу са immediate mode rendering-ом, карактеристичним за десктоп GPU-е.
Архитектура GPU-а се радикално разликује од CPU-а. Уместо неколико моћних језгара са великим кешом, GPU садржи стотине или хиљаде једноставних рачунарских блокова оптимизованих за SIMD (Single Instruction, Multiple Data) — једна инструкција се извршава над више елемената података.
Основни блок GPU-а — Shader Core (у терминологији NVIDIA) или Execution Unit (Intel). Више таквих блокова се удружује у Compute Unit (AMD) или Streaming Multiprocessor (NVIDIA). Сваки блок укључује ALU за аритметику, регистарску датотеку и планер варпова (група нити).
Мобилни GPU-и се архитектонски разликују од десктопних. Qualcomm Adreno користи архитектуру са програмабилним шејдерским процесорима и издвојеним блоком растеризације. ARM Mali се заснива на Bifrost или Valhall — архитектурама са квартетном обрадом варпова. Apple GPU од 2017. године има сопствени дизајн са подршком за Metal и унификованом меморијом.
| Произвођач | Линија GPU-а | Архитектура | API |
|---|---|---|---|
| Qualcomm | Adreno 6xx/7xx/8xx | Програмабилни шејдерски процесори | Vulkan, OpenGL ES |
| ARM | Mali-G серија | Bifrost / Valhall | Vulkan, OpenGL ES |
| Apple | Apple GPU (A13–A18) | Сопствени дизајн | Metal |
| Imagination | PowerVR IMG | Furian / B-Series | Vulkan, OpenGL ES |
Кључна карактеристика мобилних GPU-а — Unified Memory Architecture (UMA). GPU и CPU користе заједничку RAM меморију без одвојене видео меморије. Ово смањује кашњење при размени података и поједностављује програмирање, али ограничава пропусни опсег при интензивним прорачунима.
CPU је дизајниран за секвенцијалне задатке са минималним кашњењем. Садржи 4–12 моћних језгара са великим L1/L2/L3 кешом, предиктором гранања и спекулативним извршавањем. GPU, насупрот томе, жртвује кашњење ради пропусног опсега — хиљаде језгара обрађују податке са великим кашњењем, али огромном укупном перформансом.
Разлика се манифестује у FLOPS (операцијама са покретним зарезом у секунди). Најбољи мобилни SoC 2025. године: CPU — 200 GFLOPS, GPU — 2400 GFLOPS. GPU надмашује CPU 12 пута на задацима који допуштају паралелизам. Међутим, за секвенцијалне алгоритме CPU остаје бржи због мањих трошкова управљања нитима.
У пракси, програмер користи CPU за логику апликације, UI и IO, а GPU за рендеровање, обраду слика, симулацију физике и инференцу неуронских мрежа. Према Google Android Performance Patterns (2025), оптимално оптерећење GPU-а у мобилним апликацијама износи 60–80% — преоптерећење води до тротлинга и прегревања.
// CPU — секвенцијална обрада
for (int i = 0; i < N; i++) {
result[i] = data[i] * 2.0f;
}
// GPU — паралелна обрада (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;
}
Код на CPU-у извршава множење секвенцијално за сваки елемент. GPU верзија покреће 256 нити паралелно, свака множи свој елемент. При N=1 милион, GPU ће извршити задатак 100–1000 пута брже од CPU-а на једном језгру.
Мобилни GPU-и раде у строгим ограничењима топлотне емисије и потрошње енергије. Типичан TDP мобилног GPU-а је 2–8 W, наспрам 150–450 W код десктопних аналога. Ово захтева посебну архитектуру са фокусом на енергетску ефикасност, а не вршне перформансе.
Основна технологија уштеде енергије — Tile-Based Rendering. Кадар се дели на тајлове 16x16 или 32x32 пиксела. Сваки тајл се обрађује у целини у брзој SRAM меморији (Tile Memory), након чега се уписује у спољашњу DRAM. Ово смањује приступе меморији 4–10 пута у поређењу са immediate mode-ом.
Qualcomm Adreno — најраспрострањенији мобилни GPU. Adreno 750 (Snapdragon 8 Gen 3) садржи 12 шејдерских процесора са заједничким фондом регистара. Подржава Vulkan 1.3, OpenGL ES 3.2, OpenCL 3.0 и праћење зрака на нивоу језгра. Према Qualcomm-у (2025), Adreno обезбеђује повећање перформанси од 45% по генерацији уз задржавање потрошње енергије.
ARM Mali — други по популарности GPU у Android уређајима. Mali-G720 је заснован на Valhall архитектури 5. генерације са подршком за Variable Rate Shading и ASTC HDR. Посебност Mali-ја је квартетна обрада: четири нити се удружују у један варп за боље искоришћење ALU-а.
Apple GPU се пројектује искључиво за Metal API. Од A13 Bionic-а, Apple користи сопствени дизајн GPU-а са подршком за Metal 3, праћење зрака и mesh-шејдере. Архитектура Apple GPU-а се одликује Unified Memory-ом са пропусним опсегом до 800 GB/s на M4 Ultra.
Тротлинг GPU-а — смањење фреквенције при прегревању — главни проблем мобилних игара. При дуготрајном оптерећењу температура SoC-а достиже 85–95°C, а GPU смањује фреквенцију за 30–50%. Према AnandTech (2025), Qualcomm Adreno 750 губи до 35% перформанси након 15 минута у Genshin Impact-у.
Програмер може ублажити тротлинг кроз оптимизацију draw позива, смањење резолуције рендеровања и коришћење Foveated Rendering-а. Metal Performance Shaders на iOS-у и Android Frame Pacing API на Android-у помажу у синхронизацији оптерећења са топлотним буџетом уређаја.
GPGPU (General-Purpose computing on GPU) — коришћење графичког процесора за неграфичка израчунавања. Идеја је настала средином 2000-их, када су програмери приметили да се шејдери могу прилагодити за матричне операције, криптографију и симулацију физике.
Данас је GPGPU стандардни алат за задатке који захтевају масовни паралелизам: машинско учење (тренирање и инференца неуронских мрежа), криптографија (хеширање, шифровање), обрада слика и видеа (филтери, кодеци), научне симулације (хидродинамика, квантна хемија).
На мобилним уређајима, GPGPU се примењује кроз Compute Shaders — шејдере без графичког излаза, који раде само са подацима. Compute Shader покреће Grid радних група, свака група садржи неколико нити. Приступ меморији — преко бафера и текстура без везивања за екран.
#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;
}
Пример compute shader-а израчунава квадратни корен за сваки елемент низа. Радна група 16x16 обрађује 256 елемената истовремено. Савремени мобилни GPU-и подржавају до 1024 радне групе и милионе глобалних нити.
API приступа GPU-у одређују како програмер шаље команде и податке на графички процесор. На мобилним платформама користе се три главна API-ја: Vulkan, Metal и OpenGL ES. Сваки има своје предности и ограничења која утичу на перформансе и компатибилност.
Vulkan — нискобуџетни крос-платформски API од Khronos Group, наследник OpenGL-а. Vulkan даје програмеру директну контролу над меморијом GPU-а, редовима команди и синхронизацијом. Према Khronos (2025), Vulkan обезбеђује повећање перформанси од 30–60% у поређењу са OpenGL ES-ом због смањења трошкова драјвера.
На Android-у, Vulkan је обавезан од Android 7.0 (API 24), али сви савремени SoC-и подржавају Vulkan 1.3. Vulkan Memory Allocator и SPIR-V као посредни код омогућавају писање шејдера у GLSL, HLSL или Rust GPU.
Metal — власнички API компаније Apple за GPU на свим уређајима екосистема: iPhone, iPad, Mac, Apple TV. Metal обезбеђује минималне трошкове и предвидљиво време извршавања команди. Према Apple Developer Documentation (2025), Metal обрађује до 100.000 draw позива по кадру без пада FPS-а.
Кључна карактеристика — Metal Shading Language (MSL) заснован на C++. Шејдери се компилирају у машински код заједно са апликацијом, што елиминише JIT компилацију типичну за Vulkan. Metal подржава Mesh Shaders, Ray Tracing и Dynamic Libraries за учитавање шејдера у рантајму.
OpenGL ES — поједностављена верзија OpenGL-а за уграђене системе. Користи се на старијим уређајима и за обезбеђивање уназадне компатибилности. OpenGL ES 3.2 подржан је на 94% Android уређаја према Android Studio (2025). За нове пројекте, Google препоручује Vulkan уместо OpenGL ES-а.
WebGL — прегледачки аналог OpenGL ES-а, основа 3D графике на вебу. WebGL 2.0 (одговара OpenGL ES 3.0) подржан је на 92% мобилних прегледача. WebGPU — следећа генерација, са архитектуром блиском Vulkan-у и Metal-у.
Често постављана питања
Мобилни GPU ради у топлотном пакету од 2–8 W, користи Tile-Based Rendering за уштеду енергије и дели меморију са CPU-ом преко UMA. Десктопни GPU троши 150–450 W, има одвојену видео меморију (GDDR) и користи Immediate Mode Rendering.
Apple GPU у чиповима M4 Ultra и A18 Pro — лидер у перформансама по вату међу мобилним GPU-има. Међу Android уређајима предњаче Qualcomm Adreno 850 у Snapdragon 8 Gen 4 и ARM Mali-G925 у MediaTek Dimensity 9500.
Да, GPU се активно користи за инференцу неуронских мрежа путем Core ML-а на iOS-у и TensorFlow Lite / NNAPI на Android-у. Према Google-у (2025), GPU убрзање даје повећање брзине од 3–10 пута у поређењу са CPU-ом.
Тротлинг настаје због прекорачења топлотног буџета. При дуготрајном оптерећењу температура SoC-а достиже 85–95°C, а GPU смањује фреквенцију да би заштитио чип. Решење — оптимизација рендеровања и коришћење FPS лимита (30–45 FPS).
Vulkan — главни избор за нове пројекте. OpenGL ES — за уназадну компатибилност са старијим уређајима. Metal — обавезан за iOS. За крос-платформски развој користите фрејмворке попут Unity-ја, Unreal Engine-а или Filament-а.
Закључак
Развићемо мобилну апликацију под кључ
IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.
Прочитајте такође