1.08. Видеокарта
Что такое видеокарта?
Видеокарта (графический адаптер, графическая плата) представляет собой специализированное вычислительное устройство, предназначенное для ускорения обработки, генерации и вывода графической информации.
Её основная задача — преобразование данных, поступающих от центрального процессора (CPU) или собственного программного интерфейса, в визуальные образы, отображаемые на экране монитора, проекторе или другом устройстве вывода.
Современная видеокарта — это полноценный вычислительный ускоритель, активно задействуемый в научных расчётах, машинном обучении, обработке видео, криптографии и других ресурсоёмких задачах, требующих массового параллелизма.
Функциональная роль видеокарты
Центральный процессор традиционно оптимизирован для последовательной обработки инструкций с высокой латентностью, но ограниченным количеством параллельных потоков. В отличие от него, видеокарта основана на архитектуре, ориентированной на массовый параллелизм. Это делает её чрезвычайно эффективной в задачах, где требуется выполнить одну и ту же операцию над большим объёмом данных — например, преобразование вершин трёхмерных моделей, наложение текстур, фильтрация пикселей, обучение нейросетей или декодирование видеопотока.
Видеокарта выполняет две ключевые роли:
- Графический ускоритель — обрабатывает команды графических API (Direct3D, Vulkan, OpenGL, Metal) для построения и отображения изображений. Этот режим востребован в играх, CAD-приложениях, визуализации данных, мультимедийных редакторах.
- Вычислительный ускоритель — исполняет общие вычислительные задачи через такие платформы, как CUDA (NVIDIA), ROCm (AMD) или OpenCL. В этом режиме видеокарта используется для численного моделирования, обучения моделей машинного обучения, анализа больших данных и других областей, где важна пропускная способность по операциям с плавающей запятой (FLOPS).
Использование видеокарты в этих ролях существенно разгружает центральный процессор, позволяя системе работать более эффективно и масштабируемо.
Графический процессор (GPU)
Графический процессор (Graphics Processing Unit, GPU) — это центральный вычислительный элемент видеокарты. Подобно CPU, GPU содержит ядра, кэш-память, контроллеры и шины, но его архитектура принципиально отличается. GPU спроектирован для обработки тысяч потоков данных одновременно. Такой подход называется массовым параллелизмом (massive parallelism).
Современные GPU состоят из множества вычислительных блоков, объединённых в потоковые мультипроцессоры (Streaming Multiprocessors, SM — в терминологии NVIDIA) или вычислительные блоки (Compute Units — в архитектуре AMD). Каждый такой блок содержит десятки или сотни логических ядер, работающих синхронно над разными частями данных. Это позволяет GPU достигать вычислительной мощности, многократно превосходящей возможности даже высокопроизводительных CPU, при условии, что задача допускает параллельную обработку.
GPU управляет конвейером рендеринга, включающим этапы обработки вершин, сборки примитивов, растеризации и фрагментного шейдинга. В контексте универсальных вычислений GPU исполняет ядра (kernels) — функции, загружаемые в память устройства и запускаемые на тысячах потоков одновременно.
Видеопамять (VRAM)
Видеопамять — это высокоскоростная память, физически интегрированная на печатной плате видеокарты и подключённая к GPU через широкую шину (часто 256-битную и более). В отличие от системной оперативной памяти (DRAM), видеопамять оптимизирована для высокой пропускной способности и низкой задержки при частом случайном доступе к большим объёмам данных.
Современные видеокарты используют типы памяти, такие как GDDR6, GDDR6X или HBM2/3 (High Bandwidth Memory). GDDR6 — наиболее распространённый стандарт, обеспечивающий скорости передачи данных порядка 14–21 ГБ/с на контакт. HBM применяется в профессиональных и суперкомпьютерных решениях и характеризуется трёхмерной упаковкой чипов, что позволяет разместить память в непосредственной близости от GPU, минимизируя задержки и повышая энергоэффективность.
Видеопамять хранит:
- текстуры и буферы кадров (frame buffers);
- геометрические данные (вершины, индексы);
- буферы глубины (Z-buffer), трафарета (stencil buffer);
- промежуточные результаты вычислений при рендеринге или в общих вычислениях;
- веса и активации нейронных сетей в задачах машинного обучения.
Объём и пропускная способность видеопамяти напрямую влияют на производительность графического рендеринга и возможность обработки крупных наборов данных в вычислительных задачах. Например, обучение современных моделей машинного обучения может требовать десятков гигабайт видеопамяти, что недоступно на потребительских устройствах и достигается только при использовании профессиональных GPU или их кластеров.
Интегрированные и дискретные видеокарты
В вычислительных системах применяются два основных типа графических решений:
-
Интегрированная графика — GPU встроен в чип CPU или чипсет материнской платы. Она использует часть системной оперативной памяти (через шину CPU) и обладает ограниченной производительностью. Такие решения характерны для ноутбуков, офисных ПК и энергоэффективных платформ, где графическая нагрузка минимальна.
-
Дискретная видеокарта — представляет собой независимое устройство с собственным GPU и видеопамятью, подключаемое к системе через интерфейс PCIe. Дискретные карты обеспечивают высокую производительность и необходимы для игр, профессиональной графики, машинного обучения и научных расчётов.
Энергопотребление и тепловыделение
Высокая параллельная производительность GPU достигается за счёт значительного энергопотребления и, как следствие, тепловыделения. Современные игровые и профессиональные видеокарты могут потреблять от 200 до 600 ватт и требуют сложных систем охлаждения — от массивных радиаторов с тепловыми трубками до жидкостных решений. Это накладывает ограничения на проектирование корпусов, блоков питания и систем кондиционирования в дата-центрах, где размещаются GPU-кластеры.
Программная модель взаимодействия с GPU
Для работы с видеокартой используются программные интерфейсы различного уровня:
- Графические API (DirectX, Vulkan, OpenGL, Metal) позволяют приложениям формировать и передавать команды рендеринга.
- Вычислительные платформы (CUDA, ROCm, OpenCL, SYCL) предоставляют средства для написания и загрузки вычислительных ядер.
- Драйверы устройства обеспечивают трансляцию высокоуровневых команд в машинные инструкции GPU, управление памятью, планирование задач и взаимодействие с операционной системой.
Эффективность использования видеокарты напрямую зависит от качества драйверов и корректности программной реализации: даже самый мощный GPU может демонстрировать низкую производительность при неоптимальной передаче данных или плохом распределении нагрузки между потоками.
Производители видеокарт
Рынок графических процессоров на протяжении последних трёх десятилетий формировался под влиянием трёх ключевых компаний: NVIDIA, AMD (включая унаследованное от ATI наследие) и Intel.
NVIDIA
Компания NVIDIA была основана в 1993 году Дженсеном Хуаном, Крисом Маллосом и Кертисом Принсом с целью создания специализированных чипов для ускорения трёхмерной графики. Прорыв произошёл в 1999 году с выпуском GeForce 256 — первого чипа, официально названного графическим процессором (GPU). NVIDIA последовательно делала ставку на производительность, инновации и вертикальную интеграцию: от аппаратных архитектур до собственных программных платформ.
В середине 2000-х NVIDIA осознала потенциал GPU в общих вычислениях. Это привело к созданию в 2006 году CUDA (Compute Unified Device Architecture) — первой массовой платформы для программирования GPU на языке, близком к C. CUDA изменила парадигму высокопроизводительных вычислений: вместо узкоспециализированных суперкомпьютеров исследователи и инженеры получили доступ к параллельным вычислениям через относительно недорогие потребительские GPU.
Сегодня NVIDIA — де-факто стандарт в машинном обучении, научных расчётах, автономных системах и профессиональной графике (линейка Quadro/RTX). Её стратегия заключается в построении сквозной экосистемы: аппаратные архитектуры (Turing, Ampere, Hopper), программные стеки (CUDA, cuDNN, TensorRT), облачные платформы (DGX, NVIDIA AI Enterprise) и даже собственные процессоры (Grace CPU для гибридных систем).
Технологические особенности.
- CUDA — закрытая, но чрезвычайно развитая платформа, поддерживающая языки C/C++, Python, Fortran и интеграцию с основными фреймворками машинного обучения (TensorFlow, PyTorch).
- Tensor Cores — специализированные блоки для ускорения операций с матрицами низкой точности (FP16, INT8), критически важные для нейросетей.
- RT Cores — аппаратные ускорители трассировки лучей в реальном времени, внедрённые начиная с архитектуры Turing.
- NVLink — высокоскоростной интерфейс для соединения GPU между собой и с CPU, обеспечивающий пропускную способность, значительно превосходящую PCIe.
NVIDIA придерживается вертикально интегрированной модели: контролирует как «кремний», так и «софт». Это даёт ей преимущество в оптимизации, но создаёт зависимость пользователей от её экосистемы.
AMD
Advanced Micro Devices (AMD) изначально была конкурентом Intel в сегменте центральных процессоров. В 2006 году компания приобрела канадского разработчика графических чипов ATI Technologies, что позволило ей войти в рынок дискретной графики. Первоначально AMD позиционировала GPU как часть гетерогенных вычислительных систем, где CPU и GPU работают в тесной связке (идея, названная Heterogeneous System Architecture, HSA).
В отличие от NVIDIA, AMD избрала путь открытости. В 2011 году была представлена платформа OpenCL-ориентированная модель вычислений, а в 2016 году — ROCm (Radeon Open Compute), открытая программная платформа для GPGPU, совместимая с Linux и поддерживающая основные фреймворки машинного обучения.
AMD делает ставку на ценовую доступность, совместимость со стандартами и гибкость. Её графические процессоры (линейка Radeon, профессиональные Instinct) широко используются в дата-центрах, особенно в тех случаях, где важна независимость от проприетарных экосистем.
Технологические особенности.
- RDNA — современная архитектура GPU (RDNA 1/2/3), ориентированная на высокую энергоэффективность и игровую производительность.
- CDNA — архитектура для вычислительных задач (используется в серии Instinct), оптимизированная под параллельные вычисления и матричные операции.
- Infinity Fabric — внутренняя шина, обеспечивающая высокоскоростное соединение между CPU, GPU и памятью в гибридных системах (например, в процессорах Ryzen и EPYC).
- ROCm — открытая альтернатива CUDA, поддерживающая HIP (язык, позволяющий транслировать CUDA-код в совместимый с AMD формат).
Intel
Intel долгое время доминировала в сегменте встроенной графики, интегрируя GPU в свои процессоры (Intel HD Graphics, Iris). Однако до 2020-х годов компания не предлагала конкурентоспособных дискретных видеокарт. Перелом произошёл с запуском проекта Xe, а в 2022 году — выпуском первой игровой дискретной карты Intel Arc на архитектуре Alchemist.
Стратегия Intel основана на трёх китах:
- Масштаб — использование собственных полупроводниковых мощностей (IDM 2.0) для массового производства.
- Интеграция — тесная связка GPU с CPU и другими компонентами (например, в гибридных процессорах Meteor Lake и Arrow Lake).
- Открытость и стандарты — поддержка Vulkan, DirectX 12 Ultimate, oneAPI (единая программная платформа для CPU, GPU, FPGA).
Intel нацелена на восстановление баланса на рынке: предложить альтернативу NVIDIA и AMD, особенно в сегментах entry-level и mid-range, а также в корпоративных и edge-вычислениях.
Технологические особенности.
- Архитектура Xe — модульная, с подвариантами Xe-LP (встроенная графика), Xe-HPG (игровые GPU), Xe-HPC (суперкомпьютеры, например, в ускорителе Ponte Vecchio).
- XeSS — технология суперразрешения на основе машинного обучения, аналог DLSS от NVIDIA.
- oneAPI — кроссплатформенный набор инструментов и библиотек для гетерогенных вычислений, призванный заменить привязку к CUDA или ROCm.
- Наличие встроенного GPU в каждом современном процессоре — делает Intel де-факто лидером по количеству развёрнутых графических ядер в мире.