GPU — что это, устройство и принцип работы

Автор: IT Sectr Опубликовано: 2026-06-10 Время чтения: 9 мин

GPU (Graphics Processing Unit) — это специализированный процессор для параллельной обработки графических данных, выполняющий миллионы вычислений над пикселями и вершинами за кадр. В отличие от CPU, который оптимизирован для последовательных задач с низкой задержкой, GPU содержит тысячи маломощных ядер для массовых математических операций. По данным NVIDIA Developer Blog (2025), современные мобильные GPU содержат до 1024 ядер и достигают производительности 2 TFLOPS в вычислительных нагрузках. Разработчики интегрируют GPU для рендеринга, пост-обработки и машинного обучения на устройстве.

Главное

  • GPU — специализированный процессор с тысячами ядер для параллельной обработки графики и вычислений.
  • Архитектура GPU базируется на SIMD-конвейере: одна инструкция выполняется над множеством данных одновременно.
  • GPU в мобильных устройствах встроен в SoC и разделяет память с CPU через архитектуру Unified Memory.
  • GPU Computing (GPGPU) использует графический процессор для неграфических задач: ML, криптография, обработка сигналов.
  • API доступа к GPU на мобильных платформах: Vulkan, Metal, OpenGL ES и WebGL для браузеров.

Что такое 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

Эволюция 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

Архитектура 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
QualcommAdreno 6xx/7xx/8xxПрограммируемые шейдерные процессорыVulkan, OpenGL ES
ARMMali-G серияBifrost / ValhallVulkan, OpenGL ES
AppleApple GPU (A13–A18)Собственный дизайнMetal
ImaginationPowerVR IMGFurian / B-SeriesVulkan, OpenGL ES

Ключевая особенность мобильных GPU — Unified Memory Architecture (UMA). GPU и CPU используют общую оперативную память без отдельной видеопамяти. Это снижает задержки при обмене данными и упрощает программирование, но ограничивает пропускную способность при интенсивных вычислениях.

GPU vs CPU: ключевые отличия

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% — перегрузка ведёт к троттлингу и перегреву.

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

Код на CPU выполняет умножение последовательно для каждого элемента. GPU-версия запускает 256 потоков параллельно, каждый умножает свой элемент. При N=1 млн GPU выполнит задачу в 100–1000 раз быстрее, чем CPU на одном ядре.

GPU в мобильных устройствах

Мобильные GPU работают в жёстких ограничениях тепловыделения и энергопотребления. Типичный TDP мобильного GPU — 2–8 Вт, против 150–450 Вт у настольных аналогов. Это требует особой архитектуры с упором на энергоэффективность, а не пиковую производительность.

Основная технология энергосбережения — 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 ГБ/с на 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: вычисления на GPU

GPGPU (General-Purpose computing on GPU) — использование графического процессора для неграфических вычислений. Идея родилась в середине 2000-х, когда разработчики заметили, что шейдеры можно адаптировать для матричных операций, криптографии и симуляции физики.

Сегодня GPGPU — стандартный инструмент для задач, требующих массового параллелизма: машинное обучение (тренировка и инференс нейросетей), криптография (хеширование, шифрование), обработка изображений и видео (фильтры, кодеки), научные симуляции (гидродинамика, квантовая химия).

На мобильных устройствах GPGPU применяется через Compute Shaders — шейдеры без графического вывода, работающие только с данными. Compute Shader запускает Grid из рабочих групп, каждая группа содержит несколько потоков. Доступ к памяти — через буферы и текстуры без привязки к экрану.

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

Пример compute shader вычисляет квадратный корень для каждого элемента массива. Рабочая группа 16x16 обрабатывает 256 элементов одновременно. Современные мобильные GPU поддерживают до 1024 рабочих групп и миллионы глобальных потоков.

API для работы с GPU

API доступа к GPU определяют, как разработчик отправляет команды и данные на графический процессор. На мобильных платформах используются три основных API: Vulkan, Metal и OpenGL ES. Каждый имеет свои преимущества и ограничения, которые влияют на производительность и совместимость.

Vulkan

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

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 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 от настольного?

Мобильный GPU работает в тепловом пакете 2–8 Вт, использует Tile-Based Rendering для энергосбережения и разделяет память с CPU через UMA. Настольный GPU потребляет 150–450 Вт, имеет отдельную видеопамять (GDDR) и использует Immediate Mode Rendering.

Какой мобильный GPU самый производительный в 2026 году?

Apple GPU в чипе M4 Ultra и A18 Pro — лидер по производительности на ватт среди мобильных GPU. Среди Android-устройств лидирует Qualcomm Adreno 850 в Snapdragon 8 Gen 4 и ARM Mali-G925 в MediaTek Dimensity 9500.

Можно ли использовать GPU для машинного обучения на мобильных устройствах?

Да, GPU активно используется для инференса нейросетей через Core ML на iOS и TensorFlow Lite / NNAPI на Android. По данным Google (2025), GPU-ускорение даёт прирост скорости в 3–10 раз по сравнению с CPU.

Почему GPU греется и троттлит в мобильных играх?

Троттлинг происходит из-за превышения теплового бюджета. При длительной нагрузке температура SoC достигает 85–95°C, и GPU снижает частоту для защиты кристалла. Решение — оптимизация рендеринга и использование FPS-капов (30–45 FPS).

Какой API выбрать для GPU-графики на Android?

Vulkan — основной выбор для новых проектов. OpenGL ES — для обратной совместимости со старыми устройствами. Metal — обязательный для iOS. Для кроссплатформенной разработки используйте фреймворки вроде Unity, Unreal Engine или Filament.

Итоги

  • GPU — специализированный процессор с тысячами ядер для параллельной обработки данных и ускорения графики.
  • Архитектура GPU использует SIMD-конвейер, Tile-Based Rendering и Unified Memory для мобильных SoC.
  • GPU vs CPU: GPU превосходит CPU в 10–12 раз по FLOPS на задачах с массовым параллелизмом, но уступает в последовательных алгоритмах.
  • Мобильные GPU от Qualcomm, ARM, Apple и Imagination работают в жёстком лимите 2–8 Вт и подвержены троттлингу.
  • GPGPU через Compute Shaders применяется для ML, криптографии, обработки изображений и научных симуляций.
  • Vulkan и Metal — основные API для современных мобильных приложений, обеспечивающие низкоуровневый контроль над GPU.
  • Оптимизация GPU включает управление draw-вызовами, FPS-капы и использование Foveated Rendering для снижения тепловыделения.

Мы разработаем мобильное приложение под ключ

IT Sectr создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.

Обсудить проект

Читайте также