Графический процессор
Графический процессор (англ. graphics processing unit, GPU) — специализированная электронная схема, предназначенная для цифровой обработки изображений и ускорения вывода компьютерной графики. Графические процессоры могут быть как компонентом дискретной видеокарты, так и встроенными в материнские платы, мобильные телефоны, персональные компьютеры, рабочие станции и игровые приставки. Позднее было обнаружено, что GPU полезны и для не связанных с графикой вычислений, особенно при решении задач, хорошо поддающихся параллелизации, благодаря их параллельной архитектуре. Высокая производительность GPU при выполнении большого количества вычислений позволила их применению в ряде областей, включая искусственный интеллект, где они превосходят по эффективности при работе с большими объёмами данных и ресурсоёмкими задачами. К другим внеграфическим применениям относятся обучение нейронных сетей и майнинг криптовалют.
История
1970-е годы
Специализированные графические схемы начали применяться на игровых автоматах с 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].
1980-е годы
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].
1990-е годы
В 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].
2000-е годы
В 2002 году ATI Radeon 9700 стал первым ускорителем Direct3D 9.0, с поддержкой сложных шейдеров и операций с плавающей точкой[21].
В 2006—2007 годы появляются универсальные вычисления на GPU (GPGPU), платформы CUDA (Nvidia), OpenCL (Khronos Group), DirectCompute. Графические процессоры стали применять для машинного обучения[22], анализа изображений, линейной алгебры, статистики, 3D-восстановления, ценообразования опционов[23].
2010-е годы
В 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-е годы
В 2020-х GPU активно используются для массовых параллельных вычислений, в частности для обучения нейронных сетей и языковые модели в искусственном интеллекте. В рабочих станциях появились тензорные ядра для глубокого обучения, достигнув производительности до сотен TFLOPS[26].
Компании-производители графических процессоров
Технические особенности
Производительность GPU определяется топологией соединений, тактовой частотой, количеством и размером кэш-памяти, а также числом вычислительных блоков — потоковых мультипроцессоров (SM) у Nvidia, вычислительных блоков (CU) у AMD, Xe-ядра у Intel. Основной показатель — FLOPS, современные модели достигают производительности в десятки терафлопс[28].
2D-API
Ранние 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 (GPGPU, Stream processing)
Современные 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.
Примечания
- ↑ Hague, James Why Do Dedicated Game Consoles Exist? Programming in the 21st Century (10 сентября 2013). Дата обращения: 11 января 2023. Архивировано 4 мая 2015 года.
- ↑ mame/8080bw.c at master · mamedev/mame · GitHub. GitHub. Архивировано 21 ноября 2014 года.
- mame/mw8080bw.c at master · mamedev/mame · GitHub. GitHub. Архивировано 21 ноября 2014 года.
- Arcade/SpaceInvaders – Computer Archeology. computerarcheology.com. Архивировано 13 сентября 2014 года.
- ↑ mame/galaxian.c at master · mamedev/mame · GitHub. GitHub. Архивировано 21 ноября 2014 года.
- ↑ mame/galaxian.c at master · mamedev/mame · GitHub. GitHub. Архивировано 21 ноября 2014 года.
- MAME – src/mame/drivers/galdrvr.c. Архивировано 3 января 2014 года.
- ↑ Springmann, Alessondra. Atari 2600 Teardown: What's Inside Your Old Console?. Архивировано 14 июля 2015 года. Дата обращения: 14 июля 2015.
- ↑ What are the 6502, ANTIC, CTIA/GTIA, POKEY, and FREDDIE chips? Atari8.com. Архивировано 5 марта 2016 года.
- ↑ Wiegers, Karl E. (декабрь 1985). “Atari Fine Scrolling”. Compute! (67): 110. Архивировано из оригинала 2006-02-16. Используется устаревший параметр
|url-status=(справка); Проверьте дату в|date=(справка на английском) - ↑ Advances in Computer Graphics II / Hopgood ; Hubbold ; Duce. — Springer, 1986. — P. 169. — «Perhaps the best known one is the NEC 7220.». — ISBN 9783540169109.
- ↑ Anderson, Marian Famous Graphics Chips: NEC μPD7220 Graphics Display Controller (амер. англ.). IEEE Computer Society (18 июля 2018). Дата обращения: 17 октября 2023.
- ↑ Riddle, Sean Blitter Information. Архивировано 22 декабря 2015 года.
- ↑ Wolf, Mark J. P. Before the Crash: Early Video Game History : []. — Wayne State University Press, июнь 2012. — P. 185. — ISBN 978-0814337226.
- ↑ Anderson, Marian GPU History: Hitachi ARTC HD63484 (амер. англ.). IEEE Computer Society (7 октября 2018). Дата обращения: 17 октября 2023.
- ↑ Famous Graphics Chips: TI TMS34010 and VRAM. The first programmable graphics processor chip (10 января 2019).
- ↑ Hardcore Gaming 101: Retro Japanese Computers: Gaming's Final Frontier. hardcoregaming101.net. Архивировано 13 января 2011 года.
- ↑ System 16 – Namco System 21 Hardware (Namco). system16.com. Архивировано 18 мая 2015 года.
- ↑ System 16 – Taito Air System Hardware (Taito). system16.com. Архивировано 16 марта 2015 года.
- ↑ Brownstein, Mark. NEC Forms Video Standards Group, InfoWorld (14 ноября 1988), С. 3. Дата обращения: 27 мая 2016.
- ↑ “S3 Video Boards”. InfoWorld. 14 (20): 62. 18 мая 1992. Архивировано из оригинала 22 ноября 2017. Дата обращения 2015-07-13. Используется устаревший параметр
|url-status=(справка) - ↑ Fujitsu Develops World's First Three Dimensional Geometry Processor. fujitsu.com. Архивировано 12 сентября 2014 года.
- ↑ 1 2 Is it Time to Rename the GPU? (17 июля 2018).
- ↑ Dreijer, Søren Bump Mapping Using CG (3rd Edition). Дата обращения: 30 мая 2007. Архивировано 20 января 2010 года.
- ↑ Raina, Rajat. Large-scale deep unsupervised learning using graphics processors // Proceedings of the 26th Annual International Conference on Machine Learning – ICML '09 / Rajat Raina, Anand Madhavan, Andrew Y. Ng. — Dl.acm.org, 14 июня 2009. — P. 1–8. — doi:10.1145/1553374.1553486.
- ↑ Liepe (2010). “ABC-SysBio—approximate Bayesian computation in Python with GPU support”. Bioinformatics. 26 (14): 1797—1799. DOI:10.1093/bioinformatics/btq278. PMC 2894518. PMID 20591907. Архивировано из оригинала 2015-11-05. Используется устаревший параметр
|url-status=(справка);|access-date=требует|url=(справка) - ↑ Teglet, Traian NVIDIA Tegra Inside Every Audi 2010 Vehicle (8 января 2010). Дата обращения: 3 августа 2016. Архивировано 4 октября 2016 года.
- ↑ Nvidia's monstrous Pascal GPU is packed with cutting-edge tech and 15 billion transistors (5 апреля 2016). Дата обращения: 3 августа 2016. Архивировано 31 июля 2016 года.
- ↑ Smith, Ryan NVIDIA Volta Unveiled: GV100 GPU and Tesla V100 Accelerator Announced. AnandTech. Дата обращения: 16 августа 2018. Архивировано 11 мая 2017 года.
- ↑ Pan, Che Blacklisted Jingjia Micro to develop GPUs in Wuxi in latest chip self sufficiency move (англ.). South China Morning Post (31 июля 2023). Дата обращения: 20 января 2025.
- ↑ Hruska, Joel How Do Graphics Cards Work? Extreme Tech (10 февраля 2021). Дата обращения: 17 июля 2021.
- ↑ CL-GD5446 64-bit VisualMedia Accelerator Preliminary Data Book, Cirrus Logic, ноябрь 1996, <https://theretroweb.com/chip/documentation/cl-gd5446-smol-645654db1ae03286068933.pdf>. Проверено 30 января 2024.
- ↑ Barron, E. T. A micro controlled peripheral processor // Conference record of the 6th annual workshop on Microprogramming – MICRO 6 / E. T. Barron, R. M. Glorioso. — сентябрь 1973. — P. 122–128. — ISBN 9781450377836. — doi:10.1145/800203.806247.
- ↑ Levine, Ken (август 1978). “Core standard graphic package for the VGI 3400”. ACM SIGGRAPH Computer Graphics. 12 (3): 298—300. DOI:10.1145/965139.807405. Проверьте дату в
|date=(справка на английском) - ↑ Help Me Choose: Video Cards. Dell. Дата обращения: 17 сентября 2016. Архивировано 9 сентября 2016 года.
- ↑ Abazovic, F. Crossfire and SLI market is just 300.000 units. fudzilla (3 июля 2015). Дата обращения: 24 декабря 2023.
- ↑ Is Multi-GPU Dead? (7 января 2018).
- ↑ Nvidia SLI and AMD CrossFire is dead – but should we mourn multi-GPU gaming? (24 августа 2019).
- ↑ NVIDIA FFmpeg Transcoding Guide (24 июля 2019).
- ↑ V-Ray for Nuke — Ray Traced Rendering for Compositors. Дата обращения: 24 декабря 2023.
- ↑ What about multi-GPU support? – Folding@home.
- ↑ Key. AnandTech – μATX Part 2: Intel G33 Performance Review. anandtech.com. Архивировано 31 мая 2008 года.
- ↑ Coelho, Rafael Does dual-channel memory make difference on integrated video performance? Hardware Secrets (18 января 2016). Дата обращения: 4 января 2019.
- ↑ Shimpi, Anand Lal AMD Outlines HSA Roadmap: Unified Memory for CPU/GPU in 2013, HSA GPUs in 2014. www.anandtech.com. Дата обращения: 8 января 2024. Архивировано 4 февраля 2012 года.
- ↑ Lake, Adam T. Getting the Most from OpenCL™ 1.2: How to Increase Performance by... (англ.). Intel. Дата обращения: 8 января 2024.
- ↑ Murph. Stanford University tailors Folding@home to GPUs (29 сентября 2006). Дата обращения: 4 октября 2007. Архивировано 12 октября 2007 года.
- ↑ Top500 List – June 2012. Top500.org. Дата обращения: 21 января 2014. Архивировано 13 января 2014 года.
- ↑ Mohr. How to make an external laptop graphics adaptor. TechRadar. Архивировано 26 июня 2017 года.
- ↑ Best External Graphics Card 2020 (EGPU) — The Complete Guide (16 марта 2020).
- ↑ GPU Q3'22 biggest quarter-to-quarter drop since the 2009 recession (амер. англ.). Jon Peddie Research (20 ноября 2022). Дата обращения: 6 июня 2023.
- ↑ Graphics chips market is showing some life. TG Daily (20 августа 2014). Дата обращения: 22 августа 2014. Архивировано 26 августа 2014 года.
Ссылки
- NVIDIA — Что такое вычисления на GPU?
- Серия книг GPU Gems
- Как работают GPU (University of Virginia, англ.)
- GPU Caps Viewer — информация о видеокарте
- ARM Mali GPUs Overview (архив)