Что такое графический ускоритель на компьютер
Видеока́рта (известна также как графи́ческая пла́та, графи́ческая ка́рта, видеоада́птер) (англ. videocard ) — устройство, преобразующее изображение, находящееся в памяти компьютера, в видеосигнал для монитора.
Обычно видеокарта является платой расширения и вставляется в разъём расширения, универсальный (ISA, VLB, PCI, PCI-Express) или специализированный (
Кому в Selectel жить хорошо с GPU?
Первый вариант, который сразу приходит на ум и оказывается правильной догадкой — это майнинг, однако любопытно отметить, что некоторые применяют его как вспомогательный способ загрузить оборудование на «максимум». В случае аренды выделенного сервера с видеокартами, время свободное от рабочих нагрузок используется для добычи криптовалют, не требующих специализированных установок (ферм) для своего получения.
Ставшие уже в какой-то степени классическими, задачи, связанные с графической обработкой и рендерингом, неизменно находят свое место на серверах Selectel с графическими ускорителями. Использование высокопроизводительного оборудования для таких задач позволяет получить более эффективное решение, чем организация выделенных рабочих мест с видеокартами.
В ходе разговора с нашими клиентами мы также познакомились с представителями Школы анализа данных Яндекс, которая использует мощности Selectel для организации тестовых учебных сред. Мы решили узнать побольше о том, чем занимаются студенты и преподаватели, какие направления машинного обучения сейчас популярны и какое будущее ожидает индустрию, после того как молодые специалисты пополнят ряды сотрудников ведущих организаций или запустят свои стартапы.
Характеристики
- ширина шины памяти, измеряется в битах — количество бит информации, передаваемой за такт. Важный параметр в производительности карты.
- объём видеопамяти, измеряется в мегабайтах — объём встроенной оперативной памяти видеокарты.
- частоты ядра и памяти — измеряются в мегагерцах, чем больше, тем быстрее видеокарта будет обрабатывать информацию.
- техпроцесс — технология изготовления основных микросхем видеокарты, указывается характерный размер, измеряемый в нанометрах (нм), современные микросхемы выпускаются по 90, 80, 65, 55 или 40-нм нормам техпроцесса. Чем меньше данный параметр, тем больше элементов можно уместить на кристалле микросхемы.
- текстурная и пиксельная скорость заполнения, измеряется в млн. пикселов в секунду, показывает количество выводимой информации в единицу времени.
- выводы карты — первоначально видеоадаптер имел всего один разъём VGA (15-контактный D-Sub). В настоящее время платы оснащают одним или двумя разъёмами DVI или Display Port. Порты D-SUB, DVI и USB-концентраторы и иные устройства ввода-вывода. На видеокарте также возможно размещение композитных и
Интегрированная (встроенная) видеокарта
Интегрированная видеокарта — это видеокарта, которая уже встроена в ваш процессор или материнскую плату. В большинстве современных процессоров от AMD и Intel под защитной крышкой процессора располагается не только кристалл центрального процессора, но и интегрированное в кристалл процессора графическое ядро для вывода графической информации.
Решение со встроенными графическими процессорами (видеокартами) довольно популярно в ноутбуках и другой портативной электронике, где из-за компактных размеров устройства невозможно использовать отдельное внешнее графическое решение для вывода информации.
В дополнение хотелось бы отметить, что все интегрированные графические карты не имеют своей собственной видеопамяти. В качестве видеопамяти интегрированные решения резервируют настраиваемый участок из оперативной памяти для своих нужд и последующей работы.
Стоит обозначить, что не все процессоры и материнские платы обладают встроенными графическими процессорами. Если вы рассматриваете интегрированную видеокарту как временное решение, пожалуйста, уточните наличие данного функционала перед покупкой.
Интерфейс
Первое препятствие к повышению быстродействия видеосистемы — это интерфейс передачи данных, к которому подключён видеоадаптер. Как бы ни был быстр процессор видеоадаптера, большая часть его возможностей останется незадействованной, если не будут обеспечены соответствующие каналы обмена информацией между ним, центральным процессором, оперативной памятью компьютера и дополнительными видеоустройствами. Основным каналом передачи данных является, конечно, интерфейсная шина материнской платы, через которую обеспечивается обмен данными с центральным процессором и оперативной памятью. Самой первой шиной использовавшейся в IBM PC была XT-Bus, она имела разрядность 8 бит данных и 20 бит адреса и работала на частоте 4,77 МГц. Далее появилась шина VLB (VESA Local Bus — локальная шина стандарта VESA). Работая на внешней тактовой частоте процессора, которая составляла от 25 МГц до 50 МГц, и имея разрядность 32 бит, шина VLB обеспечивала пиковую пропускную способность около 130 МиБ/с. Этого уже было более чем достаточно для всех существовавших приложений, помимо этого возможность использования её не только для видеоадаптеров, наличие трёх слотов подключения и обеспечение обратной совместимости с ISA (VLB представляет собой просто ещё один 116 контактный разъём за слотом ISA) гарантировали ей достаточно долгую жизнь и поддержку многими производителями чипсетов для материнских плат, и периферийных устройств, даже несмотря на то, что при частотах 40 МГц и 50 МГц обеспечить работу даже двух устройств подключенных к ней представлялось проблематичным из-за чрезмерно высокой нагрузки на каскады центрального процессора (ведь большинство управляющих цепей шло с VLB на процессор напрямую, безо всякой буферизации). И всё-таки, с учётом того, что не только видеоадаптер стал требовать высокую скорость обмена информацией, и явной невозможности подключения к VLB всех устройств (и необходимостью наличия межплатформенного решения, не ограничивающегося только PC), была разработана шина
С появлением процессоров Intel Pentium II, и серьёзной заявкой PC на принадлежность к рынку высокопроизводительных рабочих станций, а так же с появлением 3D-игр со сложной графикой, стало ясно, что пропускной способности PCI в том виде, в каком она существовала на платформе PC (обычно частота 33 МГц и разрядность 32 бит), скоро не хватит на удовлетворение запросов системы. Поэтому фирма Intel решила сделать отдельную шину для графической подсистемы, несколько модернизировала шину PCI, обеспечила новой получившейся шине отдельный доступ к памяти с поддержкой некоторых специфических запросов видеоадаптеров, и назвала это PCI Express версий 1.0 и 2.0, это последовательный, в отличие от AGP, интерфейс, его пропускная способность может достигать нескольких десятков ГБ/с. На данный момент произошёл практически полный отказ от шины AGP в пользу PCI Express. Однако стоит отметить, что некоторые производители до сих предлагают достаточно современные по своей конструкции видеоплаты с интерфейсами PCI и AGP — во многих случаях это достаточно простой путь резко повысить производительность морально устаревшего ПК в некоторых графических задачах.
Характеристики видеокарт
Ну что, достаточно «лирики», давайте пройдёмся по основным характеристикам видеокарт. Ниже мы перечислим только основные характеристики видеокарт, на которые стоит обратить внимание при выборе видеокарты, без углубления в такие параметры, как техпроцесс, количество CUDA блоков или число блоков растеризации.
Тип и объем видеопамяти
Под видеопамятью следует понимать отдельную независимую память, распаянную на плате видеокарты под нужды самой видеокарты при работе с графическими задачами.
На современном рынке представлены видеокарты с видеопамятью следующих типов - GDDR3, GDDR4, GDDR5, GDDR6 и GDDR6X. Тип видеопамяти и её количество определяет основной параметр – пропускную способность памяти. Но не всегда объем видеопамяти говорит о производительности видеокарты, поэтому нужно обращать внимание и на другие важные характеристики, такие как используемой тип памяти и разрядность шины.
Следовательно, чем новее тип используемой памяти и больше её количество, тем быстрее видеокарта сможет отрисовывать/прогружать новые текстуры в играх или, как вариант, сможет задействовать текстуры более высокого качества и разрешения.
Вместо заключения
Рост рынка графических процессоров обеспечивается возрастающим интересом к возможностям таких устройств. GPU применяется в домашних игровых системах, задачах рендеринга и видеообработки, а также там, где требуются общие высокопроизводительные вычисления. Практическое применение задач интеллектуального анализа данных будет проникать все глубже в нашу повседневную жизнь. И выполнение подобных программ наиболее эффективно осуществляется именно с помощью GPU.
Мы благодарим наших клиентов, а также преподавателей и студентов Школы анализа данных за совместную подготовку материала, и приглашаем наших читателей познакомиться с ними поближе.
А опытным и искушенным в сфере машинного обучения, анализа данных и не только мы предлагаем посмотреть предложения от Selectel по аренде серверного оборудования с графическми ускорителями: от простых GTX 1080 до Tesla P100 и K80 для самых требовательных задач.
Признанный лидер
Различия в изначальной постановке задач перед CPU и GPU привели к значительным расхождениям в архитектуре устройств — высокая частота против многоядерности. Для графических процессоров это заложило вычислительный потенциал, который в полной мере реализуется в настоящее время. Видеопроцессоры с внушительным количеством более слабых вычислительных ядер отлично справляются с параллельными вычислениями. Центральный же процессор, исторически спроектированный для работы с последовательными задачами, остается лучшим в своей области.
Для примера сравним значения в производительности центрального и графического процессора на выполнении распространенной задачи в нейронных сетях — перемножении матриц высокого порядка. Выберем следующие устройства для тестирования:
- CPU. Intel Xeon E5-2680 v4 — 28 потоков с HyperThreading, 2.4 GHZ;
- GPU. NVIDIA GTX 1080 — 2560 CUDA Cores, 1607 Mhz, 8GB GDDR5X.
В коде выше мы измеряем время, которое потребовалось на вычисление матриц одинакового порядка на центральном или графическом процессоре («Время выполнения»). Данные можно представить в виде графика, на котором горизонтальная ось отображает порядок перемножаемых матриц, а вертикальная — Время выполнения в секундах:
Линия графика, выделенная оранжевым, показывает время, которое требуется для создания данных в обычном ОЗУ, передачу их в память GPU и последующие вычисления. Зеленая линия показывает время, которое требуется на вычисление данных, которые были сгенерированы уже в памяти видеокарты (без передачи из ОЗУ). Синяя отображает время подсчета на центральном процессоре. Матрицы порядка менее 1000 элементов перемножаются на GPU и CPU почти за одинаковое время. Разница в производительности хорошо проявляется с матрицами размерами более 2000 на 2000, когда время вычислений на CPU подскакивает до 1 секунды, а GPU остается близким к нулю.
Более сложные и практические задачи эффективнее решаются на устройстве с графическими процессорами, чем без них. Поскольку проблемы, которые решают наши клиенты на оборудовании с GPU, очень разнообразны, мы решили выяснить, какие самые популярные сценарии использования существуют.
Интегрированная или внешняя (дискретная) видеокарта
Видеопамять
Кроме шины данных, второе узкое место любого видеоадаптера — это пропускная способность (англ. bandwidth ) памяти самого видеоадаптера. Причём, изначально проблема возникла даже не столько из-за скорости обработки видеоданных (это сейчас часто стоит проблема информационного "голода" видеоконтроллера, когда он данные обрабатывает быстрее, чем успевает их читать/писать из/в видеопамять), сколько из-за необходимости доступа к ним со стороны видеопроцессора, центрального процессора и RAMDAC’а. Дело в том, что при высоких разрешениях и большой глубине цвета для отображения страницы экрана на мониторе необходимо прочитать все эти данные из видеопамяти и преобразовать в аналоговый сигнал, который и пойдёт на монитор, столько раз в секунду, сколько кадров в секунду показывает монитор. Возьмём объём одной страницы экрана при разрешении 1024x768 точек и глубине цвета 24 бит (True Color), это составляет 2,25 МиБ. При частоте кадров 75 Гц необходимо считывать эту страницу из памяти видеоадаптера 75 раз в секунду (считываемые пикселы передаются в RAMDAC и он преобразовывает цифровые данные о цвете пиксела в аналоговый сигнал, поступающий на монитор), причём, ни задержаться, ни пропустить пиксел нельзя, следовательно, номинально потребная пропускная способность видеопамяти для данного разрешения составляет приблизительно 170 МиБ/с, и это без учёта того, что необходимо и самому видеоконтроллеру писать и читать данные из этой памяти. Для разрешения 1600x1200x32 бит при той же частоте кадров 75 Гц, номинально потребная пропускная составляет уже 550 МиБ/с, для сравнения, процессор Pentium-2 имел пиковую скорость работы с памятью 528 МиБ/с. Проблему можно было решать двояко — либо использовать специальные типы памяти, которые позволяют одновременно двум устройствам читать из неё, либо ставить очень быструю память. О типах памяти и пойдёт речь ниже.
FPM DRAM (Fast Page Mode Dynamic RAM - динамическое ОЗУ с быстрым страничным доступом) — основной тип видеопамяти, идентичный используемой в системных платах. Использует асинхронный доступ, при котором управляющие сигналы не привязаны жёстко к тактовой частоте системы. Активно применялся примерно до 1996 г.
Matrox и Number Nine, поскольку требует специальных методов доступа и обработки данных. Наличие всего одного производителя данного типа памяти (Samsung) сильно сократило возможности её использования. Видеоадаптеры, построенные с использованием данного типа памяти, не имеют тенденции к падению производительности при установке больших разрешений и частот обновления экрана, на однопортовой же памяти в таких случаях RAMDAC всё большее время занимает шину доступа к видеопамяти и производительность видеоадаптера может сильно упасть.
EDO DRAM (Extended Data Out DRAM — динамическое ОЗУ с расширенным временем удержания данных на выходе) — тип памяти с элементами конвейеризации, позволяющий несколько ускорить обмен блоками данных с видеопамятью приблизительно на 25 %.
DDR SDRAM (Double Data Rate) — вариант SDRAM с передачей данных по двум срезам сигнала, получаем в результате удвоение скорости работы. Дальнейшее развитие пока происходит в виде очередного уплотнения числа пакетов в одном такте шины - DDR2 SDRAM (GDDR2), DDR3 SDRAM (GDDR3) и т.д.
SGRAM (Synchronous Graphics RAM — синхронное графическое ОЗУ) вариант DRAM с синхронным доступом. В принципе, работа SGRAM полностью аналогична SDRAM, но дополнительно поддерживаются ещё некоторые специфические функции, типа блоковой и масочной записи. В отличие от VRAM и WRAM, SGRAM является однопортовой, однако может открывать две страницы памяти как одну, эмулируя двухпортовость других типов видеопамяти.
MDRAM (Multibank DRAM — многобанковое ОЗУ) — вариант DRAM, разработанный фирмой MoSys, организованный в виде множества независимых банков объёмом по 32 КиБ каждый, работающих в конвейерном режиме.
Видеока́рта (известна также как графи́ческая пла́та, графи́ческая ка́рта, видеоада́птер) (англ. videocard ) — устройство, преобразующее изображение, находящееся в памяти компьютера, в видеосигнал для монитора.
Обычно видеокарта является платой расширения и вставляется в разъём расширения, универсальный (ISA, VLB, PCI, PCI-Express) или специализированный (
Дальнейшее развитие и проекты
Как и любая наука, направление анализа данных будет изменяться. Опыт, который получают студенты сегодня, несомненно войдет в основу будущих разработок. Поэтому отдельно стоит отметить высокую практическую направленность программы — некоторые студенты во время учебы или после начинают стажироваться в Яндексе и применять свои знания уже на реальных сервисах и службах (поиск, компьютерное зрение, распознавание речи и другие).
О будущем анализа данных мы поговорили с преподавателями Школы анализа данных, которые поделились с нами своим видением развития науки о данных.
По мнению Влада Шахуро, преподавателя курса «Анализ изображений и видео», самые интересные задачи в компьютерном зрении — обеспечение безопасности в местах массового скопления людей, управление беспилотным автомобилем и создание приложение с использованием дополненной реальности. Для решения этих задач необходимо уметь качественно анализировать видеоданные и развивать в первую очередь алгоритмы детектирования и слежения за объектами, распознавания человека по лицу и трехмерной реконструкции наблюдаемой сцены. Преподаватель Виктор Лемпицкий, ведущий курс «Глубинное обучение», отдельно выделяет в своем направлении автокодировщики, а также генеративные и состязательные сети.
Один из наставников Школы анализа данных делится своим мнением касательно распространения и начала массового использования машинного обучения:
«Машинное обучение из удела немногих одержимых исследователей превращается в ещё один инструмент рядового разработчика. Раньше (например в 2012) люди писали низкоуровневый код для обучения сверточных сетей на паре видеокарт. Сейчас, кто угодно может за считанные часы:
- скачать веса уже обученной нейросети (например, в keras);
- сделать с ее помощью решение для своей задачи (fine-tuning, zero-shot learning);
- встроить её в свой веб-сайт или мобильное приложение (tensorflow / caffe 2).
По мнению Ивченко Олега, администратора серверной инфраструктуры ШАД, для стандартных задач глубокого обучения на стандартных наборах данных (например, CIFAR, MNIST) требуются такие ресурсы:
- 6 ядер CPU;
- 16 Gb оперативной памяти;
- 1 GPU-карточка с 6-8 Gb видеопамяти. Это соответствует таким видеокартам, как PNY NVIDIA GeForce GTX 1060 или MSI GeForce GTX 1070.
Содержание
Поколения 3D-ускорителей
- DirectX 7 — карта не поддерживает шейдеры, все картинки рисуются наложением текстур;
- DirectX 8 — поддержка пиксельных шейдеров версий 1.0, 1.1 и 1.2, в DX 8.1 ещё и версию 1.4, поддержка вершинных шейдеров версии 1.0;
- DirectX 9 — поддержка пиксельных шейдеров версий 2.0, 2.0a и 2.0b, 3.0;
- DirectX 10 — поддержка унифицированных шейдеров версии 4.0;
- DirectX 10.1 — поддержка унифицированных шейдеров версии 4.1.
- OpenGL 1.0
- OpenGL 1.2
- OpenGL 1.4
- OpenGL 2.0
- OpenGL 2.1
- OpenGL 3.0
Внешняя (дискретная) видеокарта
Внешняя или дискретная видеокарта — это устройство (независимое видеоядро), которая располагается на отдельной плате и устанавливается в отдельный AGP (от англ. Accelerated Graphics Port - ускоренный графический порт) или PCI (англ. Peripheral component interconnect - взаимосвязь периферийных компонентов) слот материнской платы компьютера.
Дискретные видеокарты являются самым производительным графическим решением, так как на отдельной плате видеокарты располагается независимый графический процессор и набор отдельной независимой видеопамяти, что позволяет не задействовать в процессе работы графического процессора (видеокарты) вашу основную оперативную память и встроенное в процессор графическое ядро.
Из-за резкой разницы в производительности, по сравнению с интегрированными графическими решениями, прямо пропорционально повышается и рабочая температура видеокарты. Поэтому на все производительные дискретные решения устанавливаются массивные радиаторы для отвода тепла, а количество кулеров используемых для охлаждения может достигать 3-4 штук.
Дискретный вариант видеокарт может быть заменён в будущем, когда производительности текущей видеокарты не будет хватать для запуска новых требовательных игр или работы в графических приложениях.
Поколения 3D-ускорителей
- DirectX 7 — карта не поддерживает шейдеры, все картинки рисуются наложением текстур;
- DirectX 8 — поддержка пиксельных шейдеров версий 1.0, 1.1 и 1.2, в DX 8.1 ещё и версию 1.4, поддержка вершинных шейдеров версии 1.0;
- DirectX 9 — поддержка пиксельных шейдеров версий 2.0, 2.0a и 2.0b, 3.0;
- DirectX 10 — поддержка унифицированных шейдеров версии 4.0;
- DirectX 10.1 — поддержка унифицированных шейдеров версии 4.1.
- OpenGL 1.0
- OpenGL 1.2
- OpenGL 1.4
- OpenGL 2.0
- OpenGL 2.1
- OpenGL 3.0
Интерфейс
Первое препятствие к повышению быстродействия видеосистемы — это интерфейс передачи данных, к которому подключён видеоадаптер. Как бы ни был быстр процессор видеоадаптера, большая часть его возможностей останется незадействованной, если не будут обеспечены соответствующие каналы обмена информацией между ним, центральным процессором, оперативной памятью компьютера и дополнительными видеоустройствами. Основным каналом передачи данных является, конечно, интерфейсная шина материнской платы, через которую обеспечивается обмен данными с центральным процессором и оперативной памятью. Самой первой шиной использовавшейся в IBM PC была XT-Bus, она имела разрядность 8 бит данных и 20 бит адреса и работала на частоте 4,77 МГц. Далее появилась шина VLB (VESA Local Bus — локальная шина стандарта VESA). Работая на внешней тактовой частоте процессора, которая составляла от 25 МГц до 50 МГц, и имея разрядность 32 бит, шина VLB обеспечивала пиковую пропускную способность около 130 МиБ/с. Этого уже было более чем достаточно для всех существовавших приложений, помимо этого возможность использования её не только для видеоадаптеров, наличие трёх слотов подключения и обеспечение обратной совместимости с ISA (VLB представляет собой просто ещё один 116 контактный разъём за слотом ISA) гарантировали ей достаточно долгую жизнь и поддержку многими производителями чипсетов для материнских плат, и периферийных устройств, даже несмотря на то, что при частотах 40 МГц и 50 МГц обеспечить работу даже двух устройств подключенных к ней представлялось проблематичным из-за чрезмерно высокой нагрузки на каскады центрального процессора (ведь большинство управляющих цепей шло с VLB на процессор напрямую, безо всякой буферизации). И всё-таки, с учётом того, что не только видеоадаптер стал требовать высокую скорость обмена информацией, и явной невозможности подключения к VLB всех устройств (и необходимостью наличия межплатформенного решения, не ограничивающегося только PC), была разработана шина
С появлением процессоров Intel Pentium II, и серьёзной заявкой PC на принадлежность к рынку высокопроизводительных рабочих станций, а так же с появлением 3D-игр со сложной графикой, стало ясно, что пропускной способности PCI в том виде, в каком она существовала на платформе PC (обычно частота 33 МГц и разрядность 32 бит), скоро не хватит на удовлетворение запросов системы. Поэтому фирма Intel решила сделать отдельную шину для графической подсистемы, несколько модернизировала шину PCI, обеспечила новой получившейся шине отдельный доступ к памяти с поддержкой некоторых специфических запросов видеоадаптеров, и назвала это PCI Express версий 1.0 и 2.0, это последовательный, в отличие от AGP, интерфейс, его пропускная способность может достигать нескольких десятков ГБ/с. На данный момент произошёл практически полный отказ от шины AGP в пользу PCI Express. Однако стоит отметить, что некоторые производители до сих предлагают достаточно современные по своей конструкции видеоплаты с интерфейсами PCI и AGP — во многих случаях это достаточно простой путь резко повысить производительность морально устаревшего ПК в некоторых графических задачах.
Тактовая частота ядра и памяти
Здесь можно провести прямую аналогию с тактовой частотой центрального процессора с единственным отличием, что в видеокартах частотой обладает как видеопамять, так и само графическое ядро.
Следовательно, чем выше показатель тактовой частоты графического процессора и памяти, тем выше производительность видеокарты.
Стоит добавить, что большинство видеокарт позволяет поднять показатели тактовой частоты через специальные программы для «разгона» или оверклокинга. В некоторых случаях прирост производительности может достигать от 5% до 20%. Но не стоит забывать об обратной стороне медали — возможности появления артефактов или графических ошибок в различных приложениях и потенциальном ускоренном износе видеокарты или перегреве.
Прочитать про разгон (оверклокинг) видеокарты вы можете в нашей отдельной статье - «Разгон видеокарты».
История появления графических процессоров
Пожалуй, это был один из самых сложных и тернистых путей компьютерного прогресса, и начинался он, как могли подумать многие, не с вывода примитивной 2D или 3D графики, а с вывода самого простого текста на монохромный экран монитора.
Стоит обозначить, что мы не будет разбирать всю хронологию графических адаптеров, а обозначим только самые значимые и переломные моменты истории.
Итак, давайте начнём по порядку.
Самым первым графическим адаптером стал MDA (Monochrome Display Adapter), разработанный в 1981 году. MDA был основан на чипе Motorola 6845 и оснащен 4 КБ видеопамяти. Он работал только в текстовом режиме с разрешением 80×25 символов и поддерживал пять атрибутов текста: обычный, яркий, инверсный, подчёркнутый и мигающий. Никакой цветовой или графической информации он передавать не мог, и то, какого цвета будут буквы, определялось моделью используемого монитора.
Однако настоящим прародителем современных видеокарт принято считать CGA (Color Graphics Adapter), выпущенный компанией IBM в 1981 году. CGA мог работать как в текстовом режиме с разрешениями 80×25, так и в графическом с разрешениями до 640×200 точек и с возможностью отрисовки 16 цветов.
С момента появления первого цветного графического адаптера CGA в 1981 и вплоть до 1991 никаких революционных инноваций не происходило от слова «совсем». В основном разработчики и конструкторы аппаратных плат представляли небольшое увеличение разрешения, цветности изображения и т. д.
И только в 1991 году появилось такое понятие, как SVGA (Super VGA) — расширение VGA с добавлением новых режимов и дополнительного сервиса, например, возможности поставить произвольную частоту кадров. Число одновременно отображаемых цветов увеличивается до 65 536 (High Color, 16 бит) и 16 777 216 (True Color, 24 бита), появляются дополнительные как текстовые, так и визуальные режимы отображения информации. SVGA является фактическим стандартом видеоадаптеров где-то с середины 1992 года, после принятия ассоциацией VESA стандарта VBE (VESA BIOS Extention — расширение BIOS стандарта VESA) версии 1.0. До того момента практически все видеоадаптеры SVGA были несовместимы между собой.
Ну что, не устали еще? Если нет, предлагаю продолжить и перейти к разбору того, что из себя представляют интегрированные и дискретные видеокарты.
Интерфейсы или разъемы подключения
Интерфейс подключения определяет то, посредством чего ваш монитор или телевизор будет подключен к видеокарте для вывода изображения. На данный момент в мониторах и телевизорах используется четыре разъема подключения, это — DVI-I, DVI-D, VGA, HDMI и DisplayPort.
DVI-I, DVI-D и VGA относятся к морально устаревшим стандартам подключения и зачастую используются в старых моделях мониторов и телевизоров, где разрешение редко превышает 1920×1080, а частота обновления 75 Гц. Поэтому, если вы хотите использовать разрешение выше, чем FullHD (1920×1080), вам следует обратить внимание на варианты с HDMI и DisplayPort разъемами подключения.
Стоит добавить, что HDMI и DisplayPort, помимо вывода изображения, могут передавать и звуковой сигнал с устройства, что очень удобно в случае подключения и вывода изображения на телевизор или монитор со встроенными динамиками.
Общие вычисления на GPU
В 2006 году NVIDIA объявила о выпуске линейки продуктов GeForce 8 series, которая положила начало новому классу устройств, предназначенных для общих вычислений на графических процессорах (GPGPU). В ходе разработки NVIDIA пришла к пониманию, что большее число ядер, работающих на меньшей частоте, более эффективны для параллельных нагрузок, чем малое число более производительных ядер. Видеопроцессоры нового поколения обеспечили поддержку параллельных вычислений не только для обработки видеопотоков, но также для проблем, связанных с машинным обучением, линейной алгеброй, статистикой и другими научными или коммерческими задачами.
Разъемы питания
C ростом производительности видеокарты прямо пропорционально увеличивается её потребляемая мощность, следовательно, чем лучше и производительней видеокарта, тем больше линий дополнительного питания ей потребуется для работы.
И возможно, что смена видеокарты в вашем компьютере на новую повлечёт за собой еще одну трату - покупку нового более мощного блока питания. Зачастую производители любезно указывают рекомендуемый по мощности блок питания, в случае с примером выше (GeForce RTX 3070) производитель рекомендует использовать блок питания не менее 650 Вт.
Характеристики
- ширина шины памяти, измеряется в битах — количество бит информации, передаваемой за такт. Важный параметр в производительности карты.
- объём видеопамяти, измеряется в мегабайтах — объём встроенной оперативной памяти видеокарты.
- частоты ядра и памяти — измеряются в мегагерцах, чем больше, тем быстрее видеокарта будет обрабатывать информацию.
- техпроцесс — технология изготовления основных микросхем видеокарты, указывается характерный размер, измеряемый в нанометрах (нм), современные микросхемы выпускаются по 90, 80, 65, 55 или 40-нм нормам техпроцесса. Чем меньше данный параметр, тем больше элементов можно уместить на кристалле микросхемы.
- текстурная и пиксельная скорость заполнения, измеряется в млн. пикселов в секунду, показывает количество выводимой информации в единицу времени.
- выводы карты — первоначально видеоадаптер имел всего один разъём VGA (15-контактный D-Sub). В настоящее время платы оснащают одним или двумя разъёмами DVI или Display Port. Порты D-SUB, DVI и USB-концентраторы и иные устройства ввода-вывода. На видеокарте также возможно размещение композитных и
История
Одним из первых графических адаптеров для IBM PC стал MDA (Monochrome Display Adapter) в 1981 году. Он работал только в текстовом режиме с разрешением 80×25 символов (физически 720×350 точек) и поддерживал пять атрибутов текста: обычный, яркий, инверсный, подчёркнутый и мигающий. Никакой цветовой или графической информации он передавать не мог, и то, какого цвета будут буквы, определялось моделью использовавшегося монитора. Обычно они были чёрно-белыми, янтарными или изумрудными. Фирма Hercules в 1982 году выпустила дальнейшее развитие адаптера MDA, видеоадаптер графическое разрешение 720×348 точек и поддерживал две графические страницы. Но он всё ещё не позволял работать с цветом.
Первой цветной видеокартой стала IBM и ставшая основой для последующих стандартов видеокарт. Она могла работать либо в текстовом режиме с разрешениями 40×25 и 80×25 (матрица символа — 8×8), либо в графическом с разрешениями 320×200 или 640×200. В текстовых режимах доступно 256 атрибутов символа — 16 цветов символа и 16 цветов фона (либо 8 цветов фона и атрибут мигания), в графическом режиме 320×200 было доступно четыре палитры по четыре цвета каждая, режим высокого разрешения 640×200 был монохромным. В развитие этой карты появился
Стоит заметить, что интерфейсы с монитором всех этих типов видеоадаптеров были цифровые, MDA и HGC передавали только светится или не светится точка и дополнительный сигнал яркости для атрибута текста «яркий», аналогично CGA по трём каналам (красный, зелёный, синий) передавал основной видеосигнал, и мог дополнительно передавать сигнал яркости (всего получалось 16 цветов), EGA имел по две линии передачи на каждый из основных цветов, то есть каждый основной цвет мог отображаться с полной яркостью, 2/3, или 1/3 от полной яркости, что и давало в сумме максимум 64 цвета.
В ранних моделях компьютеров от IBM PS/2, появляется новый графический адаптер
Потом IBM пошла ещё дальше и сделала
С 1991 года появилось понятие VBE (VESA BIOS Extention — расширение VESA). SVGA воспринимается как фактический стандарт видеоадаптера где-то с середины 1992 года, после принятия ассоциацией VESA (Video Electronics Standart Association — ассоциация стандартизации видео-электроники) стандарта VBE версии 1.0. До того момента практически все видеоадаптеры SVGA были несовместимы между собой.
Графический пользовательский интерфейс, появившийся во многих операционных системах, стимулировал новый этап развития видеоадаптеров. Появляется понятие «графический ускоритель» (graphics accelerator). Это видеоадаптеры, которые производят выполнение некоторых графических функций на аппаратном уровне. К числу этих функций относятся, перемещение больших блоков изображения из одного участка экрана в другой (например при перемещении окна), заливка участков изображения, рисование линий, дуг, шрифтов, поддержка аппаратного курсора и т. п. Прямым толчком к развитию столь специализированного устройства явилось то, что графический пользовательский интерфейс несомненно удобен, но его использование требует от центрального процессора немалых вычислительных ресурсов, и современный графический ускоритель как раз и призван снять с него львиную долю вычислений по окончательному выводу изображения на экран.
Заключение
Надеемся, что после прочтения данной статьи вы смогли разложить все по своим местам и поняли, что видеокарта - не менее сложный и функциональный компонент большинства современных компьютеров, чем процессор. А если у вас остались вопросы, не стесняйтесь и задавайте их в комментариях к данной статье, мы с радостью ответим на них!
Графические процессоры (graphics processing unit, GPU) — яркий пример того, как технология, спроектированная для задач графической обработки, распространилась на несвязанную область высокопроизводительных вычислений. Современные GPU являются сердцем множества сложнейших проектов в сфере машинного обучения и анализа данных. В нашей обзорной статье мы расскажем, как клиенты Selectel используют оборудование с GPU, и подумаем о будущем науки о данных и вычислительных устройств вместе с преподавателями Школы анализа данных Яндекс.
Графические процессоры за последние десять лет сильно изменились. Помимо колоссального прироста производительности, произошло разделение устройств по типу использования. Так, в отдельное направление выделяются видеокарты для домашних игровых систем и установок виртуальной реальности. Появляются мощные узкоспециализированные устройства: для серверных систем одним из ведущих ускорителей является NVIDIA Tesla P100, разработанный именно для промышленного использования в дата-центрах. Помимо GPU активно ведутся исследования в сфере создания нового типа процессоров, имитирующих работу головного мозга. Примером может служить однокристальная платформа Kirin 970 с собственным нейроморфным процессором для задач, связанных с нейронными сетями и распознаванием образов.
Подобная ситуация заставляет задуматься над следующими вопросами:
- Почему сфера анализа данных и машинного обучения стала такой популярной?
- Как графические процессоры стали доминировать на рынке оборудования для интенсивной работы с данными?
- Какие исследования в области анализа данных будут наиболее перспективными в ближайшем будущем?
Новое направление
Повсюду нас окружает информация: от логов интернет-компаний и банковских операций до показаний в экспериментах на Большом адронном коллайдере. Умение работать с этими данными может принести миллионные прибыли и дать ответы на фундаментальные вопросы о строении Вселенной. Поэтому анализ данных стал отдельным направлением исследований среди бизнес и научного сообщества.
Школа анализа данных готовит лучших профильных специалистов и ученых, которые в будущем станут основным источником научных и индустриальных разработок в данной сфере. Развитие отрасли сказывается и на нас как на инфраструктурном провайдере — все больше клиентов запрашивают конфигурации серверов для задач анализа данных.
От специфики задач, стоящих перед нашими клиентами, зависит то, какое оборудование мы должны предлагать заказчикам и в каком направлении следует развивать нашу продуктовую линейку. Совместно со Станиславом Федотовым и Олегом Ивченко мы опросили студентов и преподавателей Школы анализа данных и выяснили, какие технологии они используют для решения практических задач.
История
Одним из первых графических адаптеров для IBM PC стал MDA (Monochrome Display Adapter) в 1981 году. Он работал только в текстовом режиме с разрешением 80×25 символов (физически 720×350 точек) и поддерживал пять атрибутов текста: обычный, яркий, инверсный, подчёркнутый и мигающий. Никакой цветовой или графической информации он передавать не мог, и то, какого цвета будут буквы, определялось моделью использовавшегося монитора. Обычно они были чёрно-белыми, янтарными или изумрудными. Фирма Hercules в 1982 году выпустила дальнейшее развитие адаптера MDA, видеоадаптер графическое разрешение 720×348 точек и поддерживал две графические страницы. Но он всё ещё не позволял работать с цветом.
Первой цветной видеокартой стала IBM и ставшая основой для последующих стандартов видеокарт. Она могла работать либо в текстовом режиме с разрешениями 40×25 и 80×25 (матрица символа — 8×8), либо в графическом с разрешениями 320×200 или 640×200. В текстовых режимах доступно 256 атрибутов символа — 16 цветов символа и 16 цветов фона (либо 8 цветов фона и атрибут мигания), в графическом режиме 320×200 было доступно четыре палитры по четыре цвета каждая, режим высокого разрешения 640×200 был монохромным. В развитие этой карты появился
Стоит заметить, что интерфейсы с монитором всех этих типов видеоадаптеров были цифровые, MDA и HGC передавали только светится или не светится точка и дополнительный сигнал яркости для атрибута текста «яркий», аналогично CGA по трём каналам (красный, зелёный, синий) передавал основной видеосигнал, и мог дополнительно передавать сигнал яркости (всего получалось 16 цветов), EGA имел по две линии передачи на каждый из основных цветов, то есть каждый основной цвет мог отображаться с полной яркостью, 2/3, или 1/3 от полной яркости, что и давало в сумме максимум 64 цвета.
В ранних моделях компьютеров от IBM PS/2, появляется новый графический адаптер
Потом IBM пошла ещё дальше и сделала
С 1991 года появилось понятие VBE (VESA BIOS Extention — расширение VESA). SVGA воспринимается как фактический стандарт видеоадаптера где-то с середины 1992 года, после принятия ассоциацией VESA (Video Electronics Standart Association — ассоциация стандартизации видео-электроники) стандарта VBE версии 1.0. До того момента практически все видеоадаптеры SVGA были несовместимы между собой.
Графический пользовательский интерфейс, появившийся во многих операционных системах, стимулировал новый этап развития видеоадаптеров. Появляется понятие «графический ускоритель» (graphics accelerator). Это видеоадаптеры, которые производят выполнение некоторых графических функций на аппаратном уровне. К числу этих функций относятся, перемещение больших блоков изображения из одного участка экрана в другой (например при перемещении окна), заливка участков изображения, рисование линий, дуг, шрифтов, поддержка аппаратного курсора и т. п. Прямым толчком к развитию столь специализированного устройства явилось то, что графический пользовательский интерфейс несомненно удобен, но его использование требует от центрального процессора немалых вычислительных ресурсов, и современный графический ускоритель как раз и призван снять с него львиную долю вычислений по окончательному выводу изображения на экран.
Технологии анализа данных
За время обучения слушатели от основ (базовой высшей математики, алгоритмов и программирования) доходят до самых передовых областей машинного обучения. Мы собирали информацию по тем, в которых используются серверы с GPU:
- Глубинное обучение;
- Обучение с подкреплением;
- Компьютерное зрение;
- Автоматическая обработка текстов.
Представленные инструменты обладают разной поддержкой от создателей, но тем не менее, продолжают активно использоваться в учебных и рабочих целях. Многие из них требуют производительного оборудования для обработки задач в адекватные сроки.
Устройство
Современная видеокарта состоит из следующих частей:
- графический процессор (Graphics processing unit - графическое процессорное устройство) — занимается расчётами выводимого изображения, освобождая от этой обязанности центральный процессор, производит расчёты для обработки команд трёхмерной графики. Является основой графической платы, именно от него зависят быстродействие и возможности всего устройства. Современные графические процессоры по сложности мало чем уступают центральному процессору компьютера, и зачастую превосходят его как по числу транзисторов, так и по вычислительной мощности, благодаря большому числу универсальных вычислительных блоков. Однако, архитектура GPU прошлого поколения обычно предполагает наличие нескольких блоков обработки информации, а именно: блок обработки 2D-графики, блок обработки 3D-графики, в свою очередь, обычно разделяющийся на геометрическое ядро (плюс кэш вершин) и блок растеризации (плюс кэш текстур) и др.
- видеоконтроллер — отвечает за формирование изображения в видеопамяти, даёт команды RAMDAC на формирование сигналов развёртки для монитора и осуществляет обработку запросов центрального процессора. Кроме этого, обычно присутствуют контроллер внешней шины данных (например, PCI или AGP), контроллер внутренней шины данных и контроллер видеопамяти. Ширина внутренней шины и шины видеопамяти обычно больше, чем внешней (64, 128 или 256 разрядов против 16 или 32), во многие видеоконтроллеры встраивается ещё и RAMDAC. Современные графические адаптеры (ATI, nVidia) обычно имеют не менее двух видеоконтроллеров, работающих независимо друг от друга и управляющих одновременно одним или несколькими дисплеями каждый.
- видеопамять — выполняет роль кадрового буфера, в котором хранится изображение, генерируемое и постоянно изменяемое графическим процессором и выводимое на экран монитора (или нескольких мониторов). В видеопамяти хранятся также промежуточные невидимые на экране элементы изображения и другие данные. Видеопамять бывает нескольких типов, различающихся по скорости доступа и рабочей частоте. Современные видеокарты комплектуются памятью типа DDR, DDR2, GDDR4 и
- цифро-аналоговый преобразователь (ЦАП, RAMDAC - Random Access Memory Digital-to-Analog Converter) — служит для преобразования изображения, формируемого видеоконтроллером, в уровни интенсивности цвета, подаваемые на аналоговый монитор. Возможный диапазон цветности изображения определяется только параметрами RAMDAC. Чаще всего RAMDAC имеет четыре основных блока — три цифроаналоговых преобразователя, по одному на каждый цветовой канал (красный, зелёный, синий, RGB), и SRAM для хранения данных о гамма-коррекции. Большинство ЦАП имеют разрядность 8 бит на канал — получается по 256 уровней яркости на каждый основной цвет, что в сумме дает 16,7 млн. цветов (а за счёт гамма-коррекции есть возможность отображать исходные 16,7 млн. цветов в гораздо большее цветовое пространство). Некоторые RAMDAC имеют разрядность по каждому каналу 10 бит (1024 уровня яркости), что позволяет сразу отображать более 1 млрд. цветов, но эта возможность практически не используется. Для поддержки второго монитора часто устанавливают второй ЦАП. Стоит отметить, что мониторы и видеопроекторы, подключаемые к цифровому DVI выходу видеокарты, для преобразования потока цифровых данных используют собственные цифроаналоговые преобразователи и от характеристик ЦАП видеокарты не зависят.
- видео-ПЗУ (Video ROM) — постоянное запоминающее устройство, в которое записаны видео-BIOS, экранные шрифты, служебные таблицы и т. п. ПЗУ не используется видеоконтроллером напрямую — к нему обращается только центральный процессор. Хранящийся в ПЗУ видео-BIOS обеспечивает инициализацию и работу видеокарты до загрузки основной операционной системы, а также содержит системные данные, которые могут читаться и интерпретироваться видеодрайвером в процессе работы (в зависимости от применяемого метода разделения ответственности между драйвером и BIOS). На многих современных картах устанавливаются электрически перепрограммируемые ПЗУ (
- система охлаждения — предназначена для сохранения температурного режима видеопроцессора и видеопамяти в допустимых пределах.
Правильная и полнофункциональная работа современного графического адаптера обеспечивается с помощью видеодрайвера — специального программного обеспечения, поставляемого производителем видеокарты и загружаемого в процессе запуска операционной системы. Видеодрайвер выполняет функции интерфейса между системой с запущенными в ней приложениями и видеоадаптером. Так же как и видео-BIOS, видеодрайвер организует и программно контролирует работу всех частей видеоадаптера через специальные регистры управления, доступ к которым происходит через соответствующую шину.
Эпоха GPU
Для начала вспомним, что же такое GPU. Graphics Processing Unit — это графический процессор широко используемый в настольных и серверных системах. Отличительной особенностью этого устройства является ориентированность на массовые параллельные вычисления. В отличие от графических процессоров архитектура другого вычислительного модуля CPU (Central Processor Unit) предназначена для последовательной обработки данных. Если количество ядер в обычном CPU измеряется десятками, то в GPU их счет идет на тысячи, что накладывает ограничения на типы выполняемых команд, однако обеспечивает высокую вычислительную производительность в задачах, включающих параллелизм.
Разрядность шины памяти
Разрядность шины памяти отвечает за то, насколько быстро графический процессор видеокарты обменивается обрабатываемой информацией с памятью видеокарты. Чем выше разрядность, тем быстрее происходит обмен данной информацией, что весьма важно в требовательных играх или задачах обработки графики.
Устройство
Современная видеокарта состоит из следующих частей:
- графический процессор (Graphics processing unit - графическое процессорное устройство) — занимается расчётами выводимого изображения, освобождая от этой обязанности центральный процессор, производит расчёты для обработки команд трёхмерной графики. Является основой графической платы, именно от него зависят быстродействие и возможности всего устройства. Современные графические процессоры по сложности мало чем уступают центральному процессору компьютера, и зачастую превосходят его как по числу транзисторов, так и по вычислительной мощности, благодаря большому числу универсальных вычислительных блоков. Однако, архитектура GPU прошлого поколения обычно предполагает наличие нескольких блоков обработки информации, а именно: блок обработки 2D-графики, блок обработки 3D-графики, в свою очередь, обычно разделяющийся на геометрическое ядро (плюс кэш вершин) и блок растеризации (плюс кэш текстур) и др.
- видеоконтроллер — отвечает за формирование изображения в видеопамяти, даёт команды RAMDAC на формирование сигналов развёртки для монитора и осуществляет обработку запросов центрального процессора. Кроме этого, обычно присутствуют контроллер внешней шины данных (например, PCI или AGP), контроллер внутренней шины данных и контроллер видеопамяти. Ширина внутренней шины и шины видеопамяти обычно больше, чем внешней (64, 128 или 256 разрядов против 16 или 32), во многие видеоконтроллеры встраивается ещё и RAMDAC. Современные графические адаптеры (ATI, nVidia) обычно имеют не менее двух видеоконтроллеров, работающих независимо друг от друга и управляющих одновременно одним или несколькими дисплеями каждый.
- видеопамять — выполняет роль кадрового буфера, в котором хранится изображение, генерируемое и постоянно изменяемое графическим процессором и выводимое на экран монитора (или нескольких мониторов). В видеопамяти хранятся также промежуточные невидимые на экране элементы изображения и другие данные. Видеопамять бывает нескольких типов, различающихся по скорости доступа и рабочей частоте. Современные видеокарты комплектуются памятью типа DDR, DDR2, GDDR4 и
- цифро-аналоговый преобразователь (ЦАП, RAMDAC - Random Access Memory Digital-to-Analog Converter) — служит для преобразования изображения, формируемого видеоконтроллером, в уровни интенсивности цвета, подаваемые на аналоговый монитор. Возможный диапазон цветности изображения определяется только параметрами RAMDAC. Чаще всего RAMDAC имеет четыре основных блока — три цифроаналоговых преобразователя, по одному на каждый цветовой канал (красный, зелёный, синий, RGB), и SRAM для хранения данных о гамма-коррекции. Большинство ЦАП имеют разрядность 8 бит на канал — получается по 256 уровней яркости на каждый основной цвет, что в сумме дает 16,7 млн. цветов (а за счёт гамма-коррекции есть возможность отображать исходные 16,7 млн. цветов в гораздо большее цветовое пространство). Некоторые RAMDAC имеют разрядность по каждому каналу 10 бит (1024 уровня яркости), что позволяет сразу отображать более 1 млрд. цветов, но эта возможность практически не используется. Для поддержки второго монитора часто устанавливают второй ЦАП. Стоит отметить, что мониторы и видеопроекторы, подключаемые к цифровому DVI выходу видеокарты, для преобразования потока цифровых данных используют собственные цифроаналоговые преобразователи и от характеристик ЦАП видеокарты не зависят.
- видео-ПЗУ (Video ROM) — постоянное запоминающее устройство, в которое записаны видео-BIOS, экранные шрифты, служебные таблицы и т. п. ПЗУ не используется видеоконтроллером напрямую — к нему обращается только центральный процессор. Хранящийся в ПЗУ видео-BIOS обеспечивает инициализацию и работу видеокарты до загрузки основной операционной системы, а также содержит системные данные, которые могут читаться и интерпретироваться видеодрайвером в процессе работы (в зависимости от применяемого метода разделения ответственности между драйвером и BIOS). На многих современных картах устанавливаются электрически перепрограммируемые ПЗУ (
- система охлаждения — предназначена для сохранения температурного режима видеопроцессора и видеопамяти в допустимых пределах.
Правильная и полнофункциональная работа современного графического адаптера обеспечивается с помощью видеодрайвера — специального программного обеспечения, поставляемого производителем видеокарты и загружаемого в процессе запуска операционной системы. Видеодрайвер выполняет функции интерфейса между системой с запущенными в ней приложениями и видеоадаптером. Так же как и видео-BIOS, видеодрайвер организует и программно контролирует работу всех частей видеоадаптера через специальные регистры управления, доступ к которым происходит через соответствующую шину.
Производитель
Так сложилось, что рынок видеокарт разделён между двумя игроками - «красными и зелёными». Под «красными» следует понимать графические решения от AMD – Radeon, а под «зелёными» - Nvidia – Geforce.
По данной ссылке вы сможете ознакомиться с нашей отдельной статьей в ключе выбора видеокарты: «Как выбрать видеокарту для компьютера? Какая видеокарта лучше: AMD или Nvidia?»
Первые шаги
Развитие видеопроцессоров на ранних этапах было тесно связано с нарастающей потребностью в отдельном вычислительном устройстве для обработки двух и трехмерной графики. До появления отдельных схем видеоконтроллеров в 70-х годах вывод изображения осуществлялся через использование дискретной логики, что сказывалось на увеличенном энергопотреблении и больших размерах печатных плат. Специализированные микросхемы позволили выделить разработку устройств, предназначенных для работы с графикой, в отдельное направление.
Следующим революционным событием стало появление нового класса более сложных и многофункциональных устройств — видеопроцессоров. В 1996 году компания 3dfx Interactive выпустила чипсет Voodoo Graphics, который быстро занял 85% рынка специализированных видеоустройств и стал лидером в области 3D графики того времени. После серии неудачных решений менеджмента компании, среди которых была покупка производителя видеокарт STB, 3dfx уступила первенство NVIDIA и ATI (позднее AMD), а в 2002 объявила о своем банкротстве.
Система охлаждения
Тут тоже все весьма просто — чем производительней видеокарта, тем больше тепла она выделает. Поэтому все современные графические решения используют от двух и более кулеров (вентиляторов) для охлаждения видеопроцессора и памяти видеокарты.
В некоторых моделях видеокарт система охлаждения может работать тише, чем в других моделях, поэтому, если для вас важен такой параметр, как издаваемый шум при нагрузке, советуем ознакомиться с отзывами пользователей перед приобретением конкретной модели видеокарты.
Наука о данных
Пожалуй, среди наших читателей не найдется тех, кто не слышал бы словосочетания «нейронные сети» или «машинное обучение». Отбросив маркетинговые вариации на тему этих слов, получается сухой остаток в виде зарождающейся и перспективной науки о данных.
Современный подход к работе с данными включает в себя несколько основных направлений:
- Большие данные (Big Data). Основная проблема в данной сфере — колоссальный объем информации, который не может быть обработан на единственном сервере. С точки зрения инфраструктурного обеспечения, требуется решать задачи создания кластерных систем, масштабируемости, отказоустойчивости, и распределенного хранения данных;
- Ресурсоемкие задачи (Машинное обучение, глубокое обучение и другие). В этом случае поднимается вопрос использования высокопроизводительных вычислений, требующих большого количества ОЗУ и процессорных ресурсов. В таких задачах активно используются системы с графическими ускорителями.
Граница между данными направления постепенно стирается: основные инструменты для работы с большими данным (Hadoop, Spark) внедряют поддержку вычислений на GPU, а задачи машинного обучения охватывают новые сферы и требуют бо́льших объемов данных. Разобраться подробнее нам помогут преподаватели и студенты Школы анализа данных.
Трудно переоценить важность грамотной работы с данными и уместного внедрения продвинутых аналитических инструментов. Речь идёт даже не о больших данных, их «озерах» или «реках», а именно об интеллектуальном взаимодействии с информацией. Происходящее сейчас представляет собой уникальную ситуацию: мы можем собирать самую разнообразную информацию и использовать продвинутые инструменты и сервисы для глубокого анализа. Бизнес внедряет подобные технологии не только для получения продвинутой аналитики, но и для создания уникального продукта в любой отрасли. Именно последний пункт во многом формирует и стимулирует рост индустрии анализа данных.
Что такое видеокарта (GPU)?
Видеокарта (видеоадаптер, графический адаптер, графическая плата, графическая карта, графический ускоритель или на английском: video card, graphics card) - это устройство, преобразующее графический образ или код, хранящийся как содержимое в памяти компьютера (или самого графического адаптера), в форму, пригодную для дальнейшего вывода на экран монитора.
Проще говоря, видеокарта в совокупности с другими компонентами компьютера позволяет преобразовать протекающий машинный код (последовательность команд) внутри вашего компьютера в удобочитаемое изображение для человеческого глаза.
В первую очередь, под видеокартой подразумевается устройство с графическим процессором, который занимается формированием самого графического образа. Все современные видеокарты не ограничиваются простым выводом изображения, они имеют встроенный графический процессор, который может производить дополнительную обработку команд и кода, снимая данную часть задачи с центрального процессора компьютера.
Также современные видеокарты от Nvidia и AMD на аппаратном уровне осуществляют рендеринг графического конвейера для построения и отображения двумерной и трёхмерной компьютерной графики на спецификациях OpenGL, DirectX и Vulkan.
Зачастую видеокарта выполнена в виде отдельной печатной платы и используется в отдельном слоте расширения (AGP, PCI Express) материнской платы. Однако широко распространены и встроенные (интегрированные) в системную плату или процессор видеокарты. Ниже мы посвятим отдельный блок в ключе сравнения интегрированных и внешних (дискретных) видеокарт.
Видеопамять
Кроме шины данных, второе узкое место любого видеоадаптера — это пропускная способность (англ. bandwidth ) памяти самого видеоадаптера. Причём, изначально проблема возникла даже не столько из-за скорости обработки видеоданных (это сейчас часто стоит проблема информационного "голода" видеоконтроллера, когда он данные обрабатывает быстрее, чем успевает их читать/писать из/в видеопамять), сколько из-за необходимости доступа к ним со стороны видеопроцессора, центрального процессора и RAMDAC’а. Дело в том, что при высоких разрешениях и большой глубине цвета для отображения страницы экрана на мониторе необходимо прочитать все эти данные из видеопамяти и преобразовать в аналоговый сигнал, который и пойдёт на монитор, столько раз в секунду, сколько кадров в секунду показывает монитор. Возьмём объём одной страницы экрана при разрешении 1024x768 точек и глубине цвета 24 бит (True Color), это составляет 2,25 МиБ. При частоте кадров 75 Гц необходимо считывать эту страницу из памяти видеоадаптера 75 раз в секунду (считываемые пикселы передаются в RAMDAC и он преобразовывает цифровые данные о цвете пиксела в аналоговый сигнал, поступающий на монитор), причём, ни задержаться, ни пропустить пиксел нельзя, следовательно, номинально потребная пропускная способность видеопамяти для данного разрешения составляет приблизительно 170 МиБ/с, и это без учёта того, что необходимо и самому видеоконтроллеру писать и читать данные из этой памяти. Для разрешения 1600x1200x32 бит при той же частоте кадров 75 Гц, номинально потребная пропускная составляет уже 550 МиБ/с, для сравнения, процессор Pentium-2 имел пиковую скорость работы с памятью 528 МиБ/с. Проблему можно было решать двояко — либо использовать специальные типы памяти, которые позволяют одновременно двум устройствам читать из неё, либо ставить очень быструю память. О типах памяти и пойдёт речь ниже.
FPM DRAM (Fast Page Mode Dynamic RAM - динамическое ОЗУ с быстрым страничным доступом) — основной тип видеопамяти, идентичный используемой в системных платах. Использует асинхронный доступ, при котором управляющие сигналы не привязаны жёстко к тактовой частоте системы. Активно применялся примерно до 1996 г.
Matrox и Number Nine, поскольку требует специальных методов доступа и обработки данных. Наличие всего одного производителя данного типа памяти (Samsung) сильно сократило возможности её использования. Видеоадаптеры, построенные с использованием данного типа памяти, не имеют тенденции к падению производительности при установке больших разрешений и частот обновления экрана, на однопортовой же памяти в таких случаях RAMDAC всё большее время занимает шину доступа к видеопамяти и производительность видеоадаптера может сильно упасть.
EDO DRAM (Extended Data Out DRAM — динамическое ОЗУ с расширенным временем удержания данных на выходе) — тип памяти с элементами конвейеризации, позволяющий несколько ускорить обмен блоками данных с видеопамятью приблизительно на 25 %.
DDR SDRAM (Double Data Rate) — вариант SDRAM с передачей данных по двум срезам сигнала, получаем в результате удвоение скорости работы. Дальнейшее развитие пока происходит в виде очередного уплотнения числа пакетов в одном такте шины - DDR2 SDRAM (GDDR2), DDR3 SDRAM (GDDR3) и т.д.
SGRAM (Synchronous Graphics RAM — синхронное графическое ОЗУ) вариант DRAM с синхронным доступом. В принципе, работа SGRAM полностью аналогична SDRAM, но дополнительно поддерживаются ещё некоторые специфические функции, типа блоковой и масочной записи. В отличие от VRAM и WRAM, SGRAM является однопортовой, однако может открывать две страницы памяти как одну, эмулируя двухпортовость других типов видеопамяти.
MDRAM (Multibank DRAM — многобанковое ОЗУ) — вариант DRAM, разработанный фирмой MoSys, организованный в виде множества независимых банков объёмом по 32 КиБ каждый, работающих в конвейерном режиме.
Сегодня мы продолжаем начатый немногим ранее цикл статей, посвящённых компонентам компьютера. В предыдущий раз мы подробно разобрали такую тему, как «Что такое процессор и почему его можно считать сердцем любого современного устройства». Сегодня мы хотим затронуть не менее интересную и важную тему: «Что такое видеокарта или графический процессор (GPU)». Как всегда, наш экскурс начнётся с базовых принципов, терминологии и небольшой предыстории появления графических процессоров.
Содержание
Возможности для новичков
Изучение анализа данных ограничивается высокими требованиями к обучающимся: обширные познания в области математики и алгоритмики, умение программировать. По-настоящему серьезные задачи машинного обучения требуют уже наличия специализированного оборудования. А для желающих побольше узнать о теоретической составляющей науки о данных Школой анализа данных совместно с Высшей Школой Экономики был запущен онлайн курс «Введение в машинное обучение».
Читайте также: