Графический процессор
Графический процессор (англ. graphics processing unit, GPU) — специализированная электронная схема, предназначенная для цифровой обработки изображений и ускорения вывода компьютерной графики. Графические процессоры могут быть как компонентом дискретной видеокарты, так и встроенными в материнские платы, мобильные телефоны, персональные компьютеры, рабочие станции и игровые приставки. Позднее было обнаружено, что GPU полезны и для не связанных с графикой вычислений, особенно при решении задач, хорошо поддающихся параллелизации, благодаря их параллельной архитектуре. Высокая производительность GPU при выполнении большого количества вычислений позволила их применению в ряде областей, включая искусственный интеллект, где они превосходят по эффективности при работе с большими объёмами данных и ресурсоёмкими задачами. К другим внеграфическим применениям относятся обучение нейронных сетей и майнинг криптовалют.
История
Специализированные графические схемы начали применяться на игровых автоматах с 1970-х годов. Оперативная память для кадровых буферов в раннем оборудовании была дорогой, поэтому видеочипы собирали изображение в процессе вывода на монитор[1].
Специализированная схема barrel shifter помогала ЦП анимировать графику в буфере кадров для ряда игр 1970-х годов (например, Gun Fight (1975), Sea Wolf (1976) и Space Invaders (1978))[2]. Аппаратная платформа Namco Galaxian в 1979 году использовала специализированное графическое оборудование, поддерживающее RGB-цвета, многоцветные спрайты и фоновые тайлы[3]. Графика Galaxian использовалась рядом компаний в «золотой эре» игровых автоматов, включая Namco, Centuri, Gremlin, Irem, Konami, Midway, Nichibutsu, Sega и Taito[4].
Atari 2600 (1977) применяла видеошифер Television Interface Adaptor[5]. Atari 8-bit (1979) получила видеопроцессор ANTIC, интерпретировавший специальные инструкции «display list», задающие режимы, отображаемые на каждой строке[6]. ANTIC позволял реализовывать плавную вертикальную и горизонтальную прокрутку без участия центрального процессора[7].
NEC μPD7220 стал первой реализацией процессора графического вывода для персональных компьютеров на одном кристалле LSI; он лёг в основу ряда высокопроизводительных видеокарт. Это был первый полностью интегрированный VLSI графический процессор для ПК, поддерживающий разрешения до 1024×1024[8]. Его клоны создавались другими компаниями, включая Intel 82720[9].
Процессоры-блиттеры для ускорения графики применялись в автоматах Williams Electronics и других компаниях[10].[11].
Hitachi ARTC HD63484 (1984) стал первым массовым CMOS-графическим процессором для ПК, а Amiga (1985) получила кастомный чип с поддержкой блиттера и сопроцессора для работы с видеорегистрами[12].
Texas Instruments TMS34010 (1986) — первый полностью программируемый графический процессор[13].
IBM 8514 — одна из первых видеоадаптеров для ПК с аппаратной поддержкой примитивов. Sharp X68000, FM Towns и другие японские ПК конца 1980-х демонстрировали расширенные графические возможности[14].
Первое специализированное оборудование для полигональной 3D-графики появилось в аркадных автоматах Namco System 21 и Taito Air System (1988)[15].[16].
IBM представила свой графический стандарт VGA в 1987 году. В 1988 году создан консорциум VESA для развития стандарта Super VGA[17].
В 1991 году S3 Graphics представила ускоритель S3 86C911, за которым последовали массовые 2D-ускорители других производителей[18].
В начале 1990-х ускорение реального времени 3D-графики становится востребованным, что привело к появлению специализированных 3D-чипов в игровых автоматах и домашних консолях (Sega Saturn, PlayStation, Nintendo 64). Аппаратное ускорение T&L появилось в Nintendo 64 Reality Coprocessor (1996) и видеокартах FireGL 4000[19].
Термин «GPU» (graphics processing unit) впервые официально использовала компания Sony для обозначения процессора своей приставки PlayStation (1994)[20].
В 2002 году ATI Radeon 9700 стал первым ускорителем Direct3D 9.0, с поддержкой сложных шейдеров и операций с плавающей точкой[21].
В 2006—2007 годы появляются универсальные вычисления на GPU (GPGPU), платформы CUDA (Nvidia), OpenCL (Khronos Group), DirectCompute. Графические процессоры стали применять для машинного обучения[22], анализа изображений, линейной алгебры, статистики, 3D-восстановления, ценообразования опционов[23].
В 2010 году Nvidia начала применять Tegra GPU для автомобильных мультимедийных систем (Audi)[24].
Рынок видеокарт пережил технический прорыв: AMD Radeon HD 6000, Nvidia GeForce серий Kepler, Maxwell, Pascal (28-16 нм), а также внедрение аппаратного трассирования лучей (Nvidia RTX 20, AMD Radeon RX 6000)[25].
Sony PlayStation 4 и Microsoft Xbox One (2013), PlayStation 5 и Xbox Series X/S (2020) используют графические процессоры архитектур семейства AMD Radeon.
В 2020-х GPU активно используются для массовых параллельных вычислений, в частности для обучения нейронных сетей и языковые модели в искусственном интеллекте. В рабочих станциях появились тензорные ядра для глубокого обучения, достигнув производительности до сотен TFLOPS[26].
Компании-производители графических процессоров
Технические особенности
Производительность GPU определяется топологией соединений, тактовой частотой, количеством и размером кэш-памяти, а также числом вычислительных блоков — потоковых мультипроцессоров (SM) у Nvidia, вычислительных блоков (CU) у AMD, Xe-ядра у Intel. Основной показатель — FLOPS, современные модели достигают производительности в десятки терафлопс[28].
Ранние GPU поддерживали низкоуровневые API для ускорения 2D-графики: GDI, DirectDraw и др[29].
Формы графических процессоров
Изначально термин «GPU» (graphics processor unit) обозначал самостоятельный программируемый процессор, отвечающий за обработку и вывод графики[30][31] После 1994 года термин прочно закрепился за специализированными микросхемами от Sony, Nvidia, AMD и др[20]. ATI использовала альтернативный термин VPU («визуальный процессор»).
В ПК различают два основных типа GPU[32]:
- Дискретные (dedicated/discrete) графические процессоры;
- Интегрированные (integrated/shared, IGP/UMA) решения.
Используют выделенную память специального типа (чаще всего GDDR). В многопроцессорных системах (SLI, CrossFire, NVLink) несколько GPU совместно формируют изображение на одном экране, однако подобные конфигурации постепенно утрачивают популярность из-за высокой стоимости и поддержки далеко не всеми играми[33][34][35].
Тем не менее, многографические конфигурации востребованы на суперкомпьютерах (Summit), рабочих станциях для работы с видео и визуальными эффектами, также они находят применение в GPGPU-задачах, рендеринге и ИИ-обучении[36][37][38].
Интегрированные графические процессоры (IGP/UMA) используют часть системной памяти ПК либо выделенную область на материнской плате. Чаще всего встроены в чипсет (northbridge) или в одно кристалле вместе с ЦП (AMD APU, Intel HD Graphics). Интегрированные GPU в большинстве ПК (данные на 2007 год — около 90 % всех поставок)[39].
Исторически IGP не поддерживали современные игры, но современные интегрированные решения AMD и Intel справляются с 2D и некоторой 3D-графикой. Ограничения таких GPU связаны с меньшей пропускной способностью общей памяти по сравнению с выделенной памятью видеокарт[40].
Ужиная архитектура памяти (UMA) включает совместное использование ЦП и GPU общей памяти и адресного пространства (например, современные процессоры AMD, Intel, Apple, PS5, Xbox Series)[41][42].
Современные GPU применяются не только для графики, но и как stream/openCL-процессоры для запуска вычислительных ядер (kernels), где при большом числе векторных операций достигается ускорение на порядки по сравнению с ЦП. Как AMD, так и Nvidia активно развивают это направление, в том числе для распределённых проектов (например, Folding@home)[43].
GPU также ускоряют высокопроизводительные вычисления — три из десяти самых мощных суперкомпьютеров мира применяют GPU-ускорители[44].
Внешние GPU (eGPU)
Энергоэффективность
См. статью Производительность на ватт.
Статистика продаж
См. также
Литература
- Peddie, Jon. The History of the GPU – New Developments. — Springer Nature, 1 января 2023. — ISBN 978-3-03-114047-1.
Примечания
Ссылки
- NVIDIA — Что такое вычисления на GPU?
- Серия книг GPU Gems
- Как работают GPU (University of Virginia, англ.)
- GPU Caps Viewer — информация о видеокарте
- ARM Mali GPUs Overview (архив)


