Где находится использовать графический процессор


Графический процессор — Википедия

Материал из Википедии — свободной энциклопедии

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 7 сентября 2019; проверки требуют 4 правки. Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 7 сентября 2019; проверки требуют 4 правки. Блок-схема графического процессора

Графический процессор (англ. graphics processing unit, GPU) — отдельное устройство персонального компьютера или игровой приставки, выполняющее графический рендеринг; в начале 2000-х годов графические процессоры стали массово применяться и в других устройствах: планшетные компьютеры, встраиваемые системы, цифровые телевизоры.

Современные графические процессоры очень эффективно обрабатывают и отображают компьютерную графику, благодаря специализированной конвейерной архитектуре они намного эффективнее в обработке графической информации, чем типичный центральный процессор.

Графический процессор в современных видеокартах (видеоадаптерах) применяется в качестве ускорителя трёхмерной графики.

Может применяться как в составе дискретной видеокарты, так и в интегрированных решениях (встроенных в северный мост либо в гибридный процессор).

Отличительными особенностями по сравнению с ЦП являются:

Высокая вычислительная мощность GPU объясняется особенностями архитектуры. Современные CPU содержат несколько ядер, тогда как графический процессор изначально создавался как многопоточная структура с множеством ядер. Разница в архитектуре обусловливает и разницу в принципах работы. Если архитектура CPU предполагает последовательную обработку информации, то GPU исторически предназначался для обработки компьютерной графики, поэтому рассчитан на массивно параллельные вычисления[1].

Каждая из этих двух архитектур имеет свои достоинства. CPU лучше работает с последовательными задачами. При большом объёме обрабатываемой информации очевидное преимущество имеет GPU. Условие только одно — в задаче должен наблюдаться параллелизм.

Графические процессоры уже достигли той точки развития, когда многие практические вычислительные задачи могут с лёгкостью решаться с их помощью, причём быстрее, чем на многоядерных системах. Будущие вычислительные архитектуры станут гибридными системами с графическими процессорами, состоящими из параллельных ядер и работающими в связке с многоядерными ЦП[2]

Оригинальный текст (англ.)

GPUs have evolved to the point where many real-world applications are easily implemented on them and run significantly faster than on multi-core systems. Future computing architectures will be hybrid systems with parallel-core GPUs working in tandem with multi-core CPUs[3]. Профессор Джек Донгарра (Jack Dongarra), Директор Инновационной вычислительной лаборатории Университета штата Теннесси, 2011

Современные модели графических процессоров (в составе видеоадаптера) могут полноценно применяться для общих вычислений (см. GPGPU). Примерами таковых могут служить чипы 5700XT (от AMD) или GTX 1660 Super (от nVidia).

Внешний графический процессор — это графический процессор, расположенный за пределами корпуса компьютера. Внешние графические процессоры иногда используются совместно с портативными компьютерами. Ноутбуки могут иметь большой объём оперативной памяти (RAM) и достаточно мощный центральный процессор (CPU), но часто им не хватает мощного графического процессора, вместо которого используется менее мощный, но более энергоэффективный встроенный графический чип. Встроенные графические чипы обычно недостаточно мощны для воспроизведения новейших игр или для других графически интенсивных задач, таких как редактирование видео.

Поэтому желательно иметь возможность подключать графический процессор к некоторой внешней шине ноутбука. PCI Express — единственная шина, обычно используемая для этой цели. Порт может представлять собой, к примеру, порт ExpressCard или mPCIe (PCIe × 1, до 5 или 2,5 Гбит / с соответственно) или порт Thunderbolt 1, 2 или 3 (PCIe × 4, до 10, 20 или 40 Гбит / с соответственно). Эти порты доступны только для некоторых ноутбуков.[4][5]

Внешние GPU не пользовались большой официальной поддержкой поставщиков. Однако это не остановило энтузиастов от внедрения настроек eGPU.

Здесь ничего нет

На программном уровне видеопроцессор для своей организации вычислений (расчётов трёхмерной графики) использует тот или иной интерфейс прикладного программирования (API).

Самые первые ускорители использовали Glide — API для трёхмерной графики, разработанный 3dfx Interactive для видеокарт на основе собственных графических процессоров Voodoo Graphics.

Поколения ускорителей в видеокартах можно считать по версиям DirectX и OpenGL, которую они поддерживают.

См. также: видеодрайвер.

AMD
NVIDIA

что это такое и зачем используется?

В современных устройствах применяется графический процессор, который еще обозначают как GPU. Что это и каков его принцип работы? GPU (Graphics Processing Unit) - процессор, основная задача которого - обработка графики и вычислений с плавающей точкой. GPU облегчает работу главного процессора, если идет речь о тяжелых играх и приложениях с 3D-графикой.

Что это?

Графический процессор создает графику, текстуры, цвета. Процессор, который обладает несколькими ядрами, может работать на высоких скоростях. У графического много ядер, функционирующих преимущественно на низких скоростях. Они занимаются вычислениями пикселей и вершин. Обработка последних в основном происходит в системе координат. Процессор графический обрабатывает различные задачи, создавая на экране трехмерное пространство, то есть объекты в нем перемещаются.

Принцип работы

Что делает графический процессор? Он занимается обработкой графики в формате 2D и 3D. Благодаря GPU компьютеру быстрее и легче удается выполнять важные задачи. Особенность графического процессора состоит в том, что он увеличивает скорость расчета графической информации на максимальном уровне. Его архитектура устроена так, что позволяет более эффективно обрабатывать визуальную информацию, чем центральный CPU компьютера.

Он отвечает за расположение трехмерных моделей в кадре. Кроме того, каждый из типов графического процессора фильтрует треугольники, входящие в него. Он определяет, какие на виду, удаляет те, которые скрываются за другими объектами. Прорисовывает источники света, определяет, каким образом эти источники влияют на цвет. Графический процессор (что это такое - описано в статье) создает изображение, выдает его пользователю на экран.

Эффективность работы

Чем обусловлена эффективная работа графического процессора? Температурой. Одна из проблем ПК и ноутбуков - перегрев. Именно это становится главной причиной того, почему устройство и его элементы быстро выходят из строя. Проблемы с GPU начинаются, когда температура процессора превышает 65 °С. В этом случае пользователи замечают, что процессор начинает работать слабее, пропускает такты, чтобы самостоятельно понизить увеличенную температуру.

Температурный режим 65-80 °С - критический. В этом случае начинается перезагрузка системы (аварийная), компьютер выключается самостоятельно. Пользователю важно отслеживать, чтобы температура графического процессора не превышала 50 °С. Нормальной считается t 30-35 °С в простое, 40-45 °С при многочасовой нагрузке. Чем ниже температура, тем выше производительность компьютера. Для материнской платы, видеокарты, корпуса и жестких дисков - свои температурные режимы.

Но многих пользователей также беспокоит вопрос, как же уменьшить температуру процессора, чтобы повысить эффективность его работы. Для начала нужно выяснить причину перегрева. Это может быть засорение системы охлаждения, высохшая термопаста, вредоносная программа, разгон процессора, сырая прошивка БИОСа. Самое простое, что может сделать пользователь, - это заменить термопасту, которая находится на самом процессоре. Кроме того, нужно произвести чистку системы охлаждения. Еще специалисты советуют установить мощный кулер, улучшить циркуляцию воздуха в системном блоке, увеличить скорость вращения на графическом адаптере кулера. Для всех компьютеров и графических процессоров одинаковая схема понижения температуры. Важно следить за устройством, вовремя его чистить.

Специфика

Графический процессор расположен на видеокарте, его главная задача - это обработка 2D и 3D графики. Если на компьютере установлен GPU, то процессор устройства не выполняет лишнюю работу, поэтому функционирует быстрее. Главная особенность графического в том, что его основная цель - это увеличение скорости расчета объектов и текстур, то есть графической информации. Архитектура процессора позволяет им работать намного эффективнее, обрабатывать визуальную информацию. Обычному процессору такое не под силу.

Виды

Что это - графический процессор? Это компонент, входящий в состав видеокарты. Существует несколько видов чипов: встроенный и дискретный. Специалисты утверждают, что лучше справляется со своей задачей второй. Его устанавливают на отдельные модули, так как отличается он своей мощью, но ему необходимо отличное охлаждение. Встроенный графический процессор есть практически во всех компьютерах. Его устанавливают в CPU, чтобы сделать потребление энергии в несколько раз ниже. С дискретными по мощи он не сравнится, но тоже обладает хорошими характеристиками, демонстрирует неплохие результаты.

Компьютерная графика

Это что? Так называется область деятельности, в которой для создания изображений и обработки визуальной информации используют компьютерные технологии. Современная компьютерная графика, в том числе научная, позволяет графически обрабатывать результаты, строить диаграммы, графики, чертежи, а также производить различного рода виртуальные эксперименты.

С помощью конструктивной графики создаются технические изделия. Существуют и другие виды компьютерной графики:

  • анимационная;
  • мультимедийная;
  • художественная;
  • рекламная;
  • иллюстративная.

С технической точки зрения компьютерная графика - это двухмерные и трехмерные изображения.

CPU и GPU: разница

В чем разница между этими двумя обозначениями? Многие пользователи в курсе, что графический процессор (что это - рассказано выше) и видеокарта выполняют разные задачи. Кроме того, они отличаются по своей внутренней структуре. И CPU, и GPU - это процессоры, которые обладают многими сходными чертами, но сделаны они для разных целей.

CPU выполняет определенную цепочку инструкций за короткий промежуток времени. Он сделан так, что формирует одновременно несколько цепочек, разбивает поток инструкций на множество, выполняет их, затем снова сливает в одно целое в конкретном порядке. Инструкция в потоке находится в зависимости от тех, что за ней следуют, поэтому в CPU содержится малое число исполнительных блоков, здесь главный приоритет отдается скорости выполнения, уменьшению простоев. Все это достигается при помощи конвейера и кэш-памяти.

У GPU другая важная функция - рендеринг визуальных эффектов и 3D-графики. Работает он проще: на входе получает полигоны, проводит необходимые логические и математические операции, на выходе выдает координаты пикселей. Работа GPU - это оперирование большим потоком разных задач. Его особенность в том, что он наделен большим объемом памяти, но медленно работает по сравнению с CPU. Кроме того, в современных GPU более 2000 исполнительных блоков. Отличаются они между собой методами доступа к памяти. Например, графическому не нужна кэшированная память большого размера. У GPU пропускная способность больше. Если объяснять простыми словами, то CPU принимает решения в соответствии с задачами программы, а GPU производит множество одинаковых вычислений.

Как установить предпочтительный графический процессор для приложений в Windows 10

В последних сборках Windows 10 Redstone 4, релиз которой должен состояться весной этого года, появилась новая функция — выбор предпочтительного GPU для работы с той или иной программы. В основном это нужно для ноутбуков, в которых бывает две графики — от Intel и от AMD или Nvidia. Первая обычно используется для экономии энергии при работе с нетяжелыми задачами — серфинг в интернете, просмотр фильмов, работа с документами и т.д. Ну а для игр или трудоемких 3D-приложений подключается более мощная дискретная графика (при этом за вывод на монитор всегда отвечает интегрированный GPU от Intel). По умолчанию за переключение видеокарт отвечает видеодрайвер дискретной видеокарты, и в панели управления Nvidia или AMD можно настроить, какие приложения с какой видеокартой будут запускаться. 

Microsoft решила несколько упростить и одновременно доработать переключение: теперь оно и для видеокарт от Nvidia, и для видеокарт от AMD настраивается в одном месте, и также появилась возможность выбора предпочтительного GPU для приложений из Магазина Windows — с учетом того, что там все же есть несколько требовательных 3D-игр, это не лишено смысла.

Находится эта настройка в Параметрах > Система > Дисплей > Настройки графики:



Теперь выберите, для приложения какого типа вы хотите задать предпочтительный GPU — для классического или универсального (из Магазина Windows). Далее нажмите на кнопку «Обзор» и укажите путь до нужного приложения, если оно классическое, или выберите его из списка, если оно универсальное:

Теперь нажмите на программу > Параметры и выберите, какую видеокарту вы хотите использовать. Энергосбережение означает, что выбранная вами программа будет запускаться с интегрированным GPU, высокая производительность — с дискретным, по умолчанию — решать будет видеодрайвер:

Как отследить использование графического процессора в диспетчере задач Windows

Диспетчер задач Windows 10 содержит подробные инструменты мониторинга графического процессора (GPU). Вы можете просматривать использование каждого приложения и общесистемного графического процессора, а Microsoft обещает, что показатели диспетчера задач будут более точными, чем показатели сторонних утилит.

Как это работает

Эти функции графического процессора были добавлены в обновлении Fall Creators для Windows 10, также известном как Windows 10 версия 1709. Если вы используете Windows 7, 8 или более старую версию Windows 10, вы не увидите эти инструменты в своем диспетчере задач.

Windows использует более новые функции в Windows Display Driver Model, чтобы извлекать информацию непосредственно из графического процессора (VidSCH) и менеджера видеопамяти (VidMm) в графическом ядре WDDM, которые отвечают за фактическое распределение ресурсов. Он показывает очень точные данные независимо от того, какие приложения API используют для доступа к GPU-Microsoft DirectX, OpenGL, Vulkan, OpenCL, NVIDIA CUDA, AMD Mantle или чему-либо еще.

Именно поэтому в диспетчере задач отображаются только системы с совместимыми с WDDM 2.0 графическими процессорами. Если вы этого не видите, графический процессор вашей системы, вероятно, использует более старый тип драйвера.

Вы можете проверить, какая версия WDDM используется вашим драйвером GPU, нажав кнопку Windows+R, набрав в поле «dxdiag», а затем нажмите «Enter», чтобы открыть инструмент «Средство диагностики DirectX». Перейдите на вкладку «Экран» и посмотрите справа от «Модель» в разделе «Драйверы». Если вы видите здесь драйвер WDDM 2.x, ваша система совместима. Если вы видите здесь драйвер WDDM 1.x, ваш GPU несовместим.

Как просмотреть производительность графического процессора

Эта информация доступна в диспетчере задач, хотя по умолчанию она скрыта. Чтобы открыть ее, откройте Диспетчер задач, щелкнув правой кнопкой мыши на любом пустом месте на панели задач и выбрав «Диспетчер задач» или нажав Ctrl+Shift+Esc на клавиатуре.

Нажмите кнопку «Подробнее» в нижней части окна «Диспетчер задач», если вы видите стандартный простой вид.

Если GPU не отображается в диспетчере задач, в полноэкранном режиме на вкладке «Процессы» щелкните правой кнопкой мыши любой заголовок столбца, а затем включите опцию «Графический процессор». Это добавит столбец графического процессора, который позволяет увидеть процент ресурсов графического процессора, используемых каждым приложением.

Вы также можете включить опцию «Ядро графического процессора», чтобы увидеть, какой графический процессор использует приложение.

Общее использование GPU всех приложений в вашей системе отображается в верхней части столбца Графического процессора. Щелкните столбец GPU, чтобы отсортировать список и посмотреть, какие приложения используют ваш GPU больше всего на данный момент.

Число в столбце Графический процессор - это самое высокое использование, которое приложение использует для всех движков. Так, например, если приложение использует 50% 3D-движка GPU и 2% декодирования видео движка GPU, вы просто увидите, что в столбце GPU отображается число 50%.

В столбце «Ядро графического процессора» отображается каждое приложение. Это показывает вам, какой физический GPU и какой движок использует приложение, например, использует ли он 3D-движок или механизм декодирования видео. Вы можете определить, какой графический процессор соответствует определенному показателю, проверив вкладку «Производительность», о которой мы поговорим в следующем разделе.

Как просмотреть использование видеопамяти приложения

Если вам интересно, сколько видеопамяти используется приложением, вам нужно перейти на вкладку «Подробности» в диспетчере задач. На вкладке «Подробности» щелкните правой кнопкой мыши любой заголовок столбца и выберите «Выбрать столбцы». Прокрутите вниз и включите колонки «Графический процессор», «Ядро графического процессора», «Выделенная память графического процессора» и «Общая память графического процессора». Первые два доступны также на вкладке «Процессы», но последние две опции памяти доступны только на панели «Подробности».

Столбец «Выделенная память графического процессора» показывает, сколько памяти приложение использует на вашем GPU. Если на вашем ПК установлена дискретная видеокарта NVIDIA или AMD, то это часть его VRAM, то есть сколько физической памяти на вашей видеокарте использует приложение. Если у вас встроенный графический процессор, часть вашей обычной системной памяти зарезервирована исключительно для вашего графического оборудования. Это показывает, какая часть зарезервированной памяти используется приложением.

Windows также позволяет приложениям хранить некоторые данные в обычной системной памяти DRAM. Столбец «Общая память графического процессора» показывает, сколько памяти приложение использует в настоящее время для видеоустройств из обычной системной ОЗУ компьютера.

Вы можете щелкнуть любой из столбцов для сортировки по ним и посмотреть, какое приложение использует больше всего ресурсов. Например, чтобы просмотреть приложения, использующие наибольшую видеопамять на вашем графическом процессоре, щелкните столбец «Выделенная память графического процессора».

Как отследить использование общего ресурса GPU

Чтобы отслеживать общую статистику использования ресурсов GPU, перейдите на вкладку «Производительность» и посмотрите на «Графический процессор» внизу на боковой панели. Если на вашем компьютере несколько графических процессоров, здесь вы увидите несколько вариантов GPU.

Если у вас несколько связанных графических процессоров - используя такую функцию, как NVIDIA SLI или AMD Crossfire, вы увидите их, идентифицированные «#» в их имени.

Windows отображает использование GPU в реальном времени. По умолчанию диспетчер задач пытается отобразить самые интересные четыре движка в соответствии с тем, что происходит в вашей системе. Например, вы увидите разные графики в зависимости от того, играете ли вы в 3D-игры или кодируете видео. Однако вы можете щелкнуть любое из имен над графиками и выбрать любой из других доступных движков.

Название вашего GPU также отображается на боковой панели и в верхней части этого окна, что позволяет легко проверить, какое графическое оборудование установлено на вашем ПК.

Вы также увидите графики использования выделенной и общей памяти GPU. Использование общей памяти GPU относится к тому, какая часть общей памяти системы используется для задач GPU. Эта память может использоваться как для обычных системных задач, так и для видеозаписей.

В нижней части окна вы увидите информацию, такую как номер версии установленного видеодрайвера, дату разработки и физическое местоположение GPU в вашей системе.

Если вы хотите просмотреть эту информацию в более маленьком окне, которое проще оставить на экране, дважды щелкните где-нибудь внутри экрана графического процессора или щелкните правой кнопкой мыши в любом месте внутри него и выберите параметр «Графическая сводка». Вы можете развернуть окно, дважды щелкнув на панели или щелкнув правой кнопкой мыши в нем и сняв флажок «Графическая сводка».

Вы также можете щелкнуть правой кнопкой мыши по графику и выбрать «Изменить график»> «Одно ядро», чтобы просмотреть только один график движка GPU.

Чтобы это окно постоянно отображалось на вашем экране, нажмите «Параметры»> «Поверх остальных окон».

Дважды щелкните внутри панели GPU еще раз, и у вас будет минимальное окно, которое вы можете расположить в любом месте на экране.

Графическое ядро в процессоре что это такое: различия с видекартой

 

Доброго времени суток друзья.

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


Объяснение понятия

На моём сайте уже была статья о том, что такое ядро в процессоре. Но не стоит путать те ядра с этими. Сейчас речь пойдет о графике. Она встраивается не в каждый CPU. Это лишь их разновидность.

Постараюсь объяснить как можно проще.

Данные устройства выполняют одновременно функции процессора, то есть обрабатывают все вычислительные задачи, и видеокарты, которая отвечает за воспроизведение картинки на вашем мониторе.

Вы можете встретить еще такое обозначение этого чипа как IGP. Это аббревиатура от «Integrated Graphics Processor», то есть «интегрированный графический процессор».

 

Зачем объединяют проц с видюхой внутри?

Для того чтобы:

  • Сократить энергопотребление железа, не только потому, что девайсы малой мощности меньше кушают сами, но они еще и нуждаются в слабом охлаждении;
  • Сделать аппаратную часть компактнее;
  • Уменьшить стоимость ПК.

Кстати, когда производители только начинали практиковать объединение устройств, они встраивали графическое ядро непосредственно в материнскую плату.

Сейчас более популярно компоновать их с центральными процессорами, чтобы максимально разгрузить материнку. Вдобавок за счет уменьшения технологического процесса  сейчас удается делать девайсы того же размера, но большей мощности.

 

Минусы

Будем считать упомянутые выше пункты плюсами графических ядер. Теперь расскажу о недостатках.

Лучшими в плане качества изображения, выводимого на экран, являются дискретные видеокарты, так как они являются самостоятельными устройствами, созданными специально для этого.

В свою очередь, встроенные ядра не располагают такими собственными ресурсами. В частности, они используют не отдельную, свою оперативную память, а общую. Также пользуются совместно с процем одной шиной данных. Это, естественно, снижает быстродействие всего компьютера, потому что тормозит работу ЦП.

 

Где используются графические ядра?

Учитывая описанные выше плюсы и минусы, интегрированные контроллеры применяются зачастую в ноутбуках и недорогих стационарных компьютерах. Такое решение отлично подходит для офисных ПК, где не требуется высокое качество графики и ускоренная производительность.

Но ценителям качественной картинки и мощных реалистичных игр все же лучше покупать дискретные модели. Они имеют собственную оперативку, систему охлаждения и шину передачи данных, поэтому могут себе позволить быть значительно мощнее интегрированных.

 

Примечание

Хочу предупредить, что если вы хотите прибавить производительности своему чипу со встроенным графическим ядром, докупив внешнюю видюху, то потратите зря деньги. Будет работать либо та, либо другая.

Правда, есть исключения — ноуты с двумя видеоустройствами. Основным служит обычно какая-то модель Intel HD. А когда она не справляется, помогает ей более сильный девайс от AMD или NVidia. Такое решение позволяет одновременно наслаждаться качественной графикой и снизить энергопотребление. Так как мощное устройство отдыхает во время интернет-серфинга или работы с офисными программами.

Подписывайтесь на обновления, чтобы не пропускать новую полезную информацию.

Всех благ!

 

 

Секреты невозможных вычислений на GPU / ComBox Technology corporate blog / Habr

Наш опыт использования вычислительного кластера из 480 GPU AMD RX 480 при решении математических задач. В качестве задачи мы взяли доказательство теоремы из статьи профессора Чуднова А.М. “Циклические разложения множеств, разделяющие орграфы и циклические классы игр с гарантированным выигрышем“. Задача заключается в поиске минимального числа участников одной коалиции в коалиционных играх Ним-типа, гарантирующее выигрыш одной из сторон.



Развитие CPU


Первый процессор, получивший действительно массовое распространение – это 8086 от компании Intel, разработанный в 1978 году. Тактовая частота работы 8086 составляла всего 8 МГц. Спустя несколько лет появились первые процессоры внутри которых было 2, 4 и даже 8 ядер. Каждое ядро позволяло выполнять свой код независимо от других. Для сравнения — современный процессор Intel Core i9-7980XE работает на частоте 2,6 ГГц и содержит 18 ядер. Как видите — прогресс не стоит на месте!

Развитие GPU


Одновременно с развитием центральных процессоров развивались и видеокарты. В основном их характеристики важны для компьютерных игр, там новые технологии проявляются особенно красочно и рендеринг 3D картинки постепенно приближается к фотографическому качеству. В начале развития компьютерных игр расчет картинки выполнялся на CPU, но вскоре был достигнут предел изобретательности разработчиков 3D-графики, ухитрявшихся оптимизировать даже очевидные вещи (хороший пример тому — InvSqrt()). Так, в видеокартах стали появляться сопроцессоры со специальным набором команд для выполнения 3D вычислений. Со временем число таких команд росло, что, с одной стороны, позволяло гибче и эффективнее работать с изображением, а с другой — усложнило процесс разработки.

С 1996 года начали выпускаться графические ускорители S3 ViRGE, 3dfx Voodoo, Diamond Monster и другие. В 1999 году nVidia выпустила процессор GeForce 256, введя в обиход термин GPU — графический процессор. Он уже универсальный, может заниматься геометрическими расчетами, преобразованием координат, расстановкой точек освещения и работой с полигонами. Отличие GPU от других графических чипов заключалось в том, что внутри, кроме специализированных команд, был набор стандартных команд, с помощью которых можно было реализовать свой алгоритм рендеринга. Это дало значительное преимущество, так как позволило добавлять любые спецэффекты, а не только те, которые уже запрограммированы в видеокарту. Начиная с GeForce 8000/9000 в GPU появились потоковые процессоры — уже полноценные вычислители. Их число варьировалось в зависимости от модели от 16 до 128. В современной терминологии они называются унифицированные шейдерные блоки, или просто шейдерные блоки. В производимых сегодня GPU AMD Vega 64 содержится 4096 шейдерных блока, а тактовая частота может достигать 1536 МГц!

Что содержит в себе GPU


Архитектура GPU отличается от CPU большим количеством ядер и минималистичным набором команд, направленных в основном на векторные вычисления. На уровне архитектуры решены вопросы параллельной работы большого числа ядер и одновременного доступа к памяти. Современные GPU содержат от 2-х до 4-х тысяч шейдерных блоков, которые объединены в вычислительные юниты (Compute Unit). При параллельных вычислениях особенно остро стоит проблема одновременного доступа к памяти. Если каждый из потоковых процессоров попытается выполнить запись в ячейку памяти то эти команду упрутся в блокировку и их необходимо будет поставить в очередь, что сильно снизит производительность. Поэтому потоковые процессоры выполняют команды небольшими группами: пока одна группа производит вычисления, другая загружает регистры и т.д. Также можно объединить ядра в рабочие группы, обладающие общей памятью и внутренними механизмами синхронизации.

Еще одной важной особенностью GPU является наличие векторных регистров и векторных АЛУ, которые могут выполнять операции одновременно для нескольких компонентов вектора. Это в первую очередь нужно для 3D графики, но поскольку наш мир трехмерный, ничто не мешает использовать это для многих физических вычислений. При наличии свободных векторных АЛУ их можно использовать и для вычисления скалярных величин.

Они такие разные, CPU и GPU


Для полноценной работы вычислительной системы важны оба типа устройств. К примеру, мы выполняем пошаговую программу, некий последовательный алгоритм. Там нет возможности выполнить пятый шаг алгоритма, так данные для него рассчитываются на шаге четыре. В таком случае эффективнее использовать CPU с большим кэшем и высокой тактовой частотой. Но есть целые классы задач, хорошо поддающихся распараллеливанию. В таком случае эффективность GPU очевидна. Самый частый пример — вычисление пикселей отрендеренного изображения. Процедура для каждого пикселя почти одинаковая, данные о 3D объектах и текстурах находятся в ОЗУ видеокарты и каждый потоковый процессор может независимо от других посчитать свою часть изображения.

Вот пример современной задачи — обучение нейронной сети. Большое количество одинаковых нейронов необходимо обучить, то есть поменять весовые коэффициенты каждого нейрона. После таких изменений нужно пропустить через нейросеть тестовые последовательности для обучения и получить вектора ошибок. Такие вычисления хорошо подходят для GPU. Каждый потоковый процессор может вести себя как нейрон и при вычислении не придется выстраивать решение последовательным образом, все наши вычисления будут происходить одновременно. Другой пример — расчет аэродинамических потоков. Необходимо выяснить возможное поведение проектируемого моста под воздействием ветра, смоделировать его аэродинамическую устойчивость, найти оптимальные места установки обтекателей для корректировки воздушных потоков или рассчитать устойчивость к ветровому резонансу. Помните знаменитый “танцующий мост” в Волгограде? Думаю, что никто не хотел бы оказаться в тот момент на мосту…

Поведение воздушного потока в каждой точке можно описать одинаковыми математическими уравнениями и решать эти уравнения параллельно на большом количестве ядер.

GPU в руках программистов


Для выполнения вычислений на GPU используется специальный язык и компилятор. Существует несколько фреймворков для выполнения общих вычислений на GPU: OpenCL, CUDA, С++AMP, OpenACC. Широкое распространение получили первые два, но использование CUDA ограничено только GPU от компании nVidia.

OpenCL был выпущен в 2009 году компанией Apple. Позднее корпорации Intel, IBM, AMD, Google и nVidia присоединились к консорциуму Khronos Group и заявили о поддержке общего стандарта. С тех пор новая версия стандарта появляется каждые полтора-два года и каждый привносит все более серьезные улучшения.

На сегодняшний день язык OpenCL C++ версии 2.2 соответствует стандарту C++14, поддерживает одновременное выполнение нескольких программ внутри устройства, взаимодействие между ними через внутренние очереди и конвейеры, позволяет гибко управлять буферами и виртуальной памятью.

Реальные задачи


Интересная задача из теории игр, в решении которой мы принимали участие — доказательство теоремы из статьи профессора Чуднова А.М. “Циклические разложения множеств, разделяющие орграфы и циклические классы игр с гарантированным выигрышем“. Задача заключается в поиске минимального числа участников одной коалиции в коалиционных играх Ним-типа, гарантирующее выигрыш одной из сторон.

С математической точки зрения это поиск опорной циклической последовательности. Если представить последовательность в виде списка нулей и единиц, то проверку на опорность можно реализовать логическими побитовыми операциями. С точки же зрения программирования такая последовательность представляет собой длинный регистр, например, 256 бит. Самый надежный способ решения этой задачи — перебор всех вариантов за исключением невозможных по очевидным причинам.

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

Сложность решения этой задачи в переборе огромного числа вариантов. Например, если мы ищем решение для n=25, то это 25 бит, а если n=100, то это уже 100 бит. Если взять количество всех возможных комбинаций, то для n=25 это 2^25=33 554 432, а для n=100 это уже 2^100=1 267 650 600 228 229 401 496 703 205 376 комбинаций. Возрастание сложности просто колоссальное!

Такая задача хорошо распараллеливается, а значит она идеально подходит для нашего GPU кластера.

Программисты vs математики


Изначально математики решали эту задачу на Visual Basic в Excel, так удалось получить первичные решения, но невысокая производительность скриптовых языков не позволила продвинуться далеко вперед. Решение до n=80 заняло полтора месяца… Склоняем голову перед этими терпеливыми людьми.

Первым этапом мы реализовали алгоритм задачи на языке Си и запустили на CPU. В процессе выяснилось, что при работе с битовыми последовательностями многое можно оптимизировать.
Далее мы оптимизировали область поиска и исключили дублирование. Также хороший результат дал анализ генерируемого компилятором ассемблерного кода и оптимизация кода под особенности компилятора. Всё это позволило добиться существенного прироста скорости вычислений.

Следующим этапом оптимизации стало профилирование. Замер времени выполнения различных участков кода показал, что в некоторых ветках алгоритма сильно возрастала нагрузка на память, а также выявилось излишнее ветвление программы. Из-за этого “маленького” недочёта почти треть мощности CPU была не задействована.

Очень важным аспектом решения подобных задач является аккуратность написания кода. Правильных ответов на эту задачу никто не знает и тестовых векторов соответственно нет. Есть лишь первая часть диапазона решений, которые были найдены математиками. Достоверность новых решений можно гарантировать только аккуратностью написания кода.

Вот и наступил этап подготовки программы для решения на GPU и код был модифицирован для работы в несколько потоков. Управляющая программа теперь занималась диспетчеризацией задач между потоками. В многопоточной среде скорость вычисления увеличилась в 5 раз! Этого удалось добиться за счет одновременной работы 4 потоков и объединения функций.

На этом этапе решение производило верные расчеты до n=80 за 10 минут, тогда как в Exсel’e эти расчеты занимали полтора месяца! Маленькая победа!

GPU и OpenCL


Было принято решение использовать OpenCL версии 1.2, чтобы обеспечить максимальную совместимость между различными платформами. Первичная отладка производилась на CPU от Intel, потом на GPU от Intel. Уже потом перешли на GPU от AMD.

В версии стандарта OpenCL 1.2 поддерживаются целочисленные переменные размерностью 64 бита. Размерность в 128 бит ограничено поддерживается AMD, но компилируется в два 64-х битных числа. Из соображений совместимости и для оптимизации производительности было решено представлять число размерностью 256 бит как группу 32-х битных чисел, логические побитовые операции над которыми производятся на внутреннем АЛУ GPU максимально быстро.
Программа на OpenCL содержит ядро — функцию, которая является точкой входа программы. Данные для обработки загружаются с CPU в ОЗУ видеокарты и передаются в ядро в виде буферов — указателей на массив входных и выходных данных. Почему массив? Мы же выполняем высокопроизводительные вычисления, нам нужно много задач, выполняемых одновременно. Ядро запускается на устройстве во множестве экземпляров. Каждое ядро знает свой идентификатор и берет именно свой кусочек входных данных из общего буфера. Тот случай, когда самое простое решение — самое эффективное. OpenCL — это не только язык, но и всеобъемлющий фреймворк, в котором досконально продуманы все мелочи научных и игровых вычислений. Это здорово облегчает жизнь разработчику. Например, можно запустить много потоков, диспетчер задач разместит их на устройстве сам. Те задачи, которые не встали на немедленное исполнение, будут поставлены в очередь ожидания и запущены по мере освобождения вычислительных блоков. У каждого экземпляра ядра есть свое пространство в выходном буфере, куда он и помещает ответ по завершению работы.

Основная задача диспетчера OpenCL — обеспечить параллельное выполнение нескольких экземпляров ядра. Здесь применён накопленный десятилетиями научный и практический опыт. Пока часть ядер загружает данные в регистры, другая часть в это время работает с памятью или выполняет вычисления — в результате ядро GPU всегда полностью загружено.
Компилятор OpenCL хорошо справляется с оптимизацией, но разработчику влиять на быстродействие проще. Оптимизация под GPU идет в двух направлениях — ускорение выполнения кода и возможность его распараллеливания. Насколько хорошо распараллеливается код компилятором зависит от нескольких вещей: количество занимаемых scratch регистров (которые располагаются в самой медленной памяти GPU — глобальной), размер скомпилированного кода (надо поместиться в 32 кб кэша), количество используемых векторных и скалярных регистров.

ComBox A-480 GPU или один миллион ядер


Эта самая интересная часть проекта, когда от Excel мы перешли на вычислительный кластер состоящий из 480 видеокарт AMD RX 480. Большого, быстрого, эффективного. Полностью готового к выполнению поставленной задачи и получению тех результатов, которых мир еще никогда не видел.

Хочется отметить что на всех этапах совершенствования и оптимизации кода мы запускали поиск решения с самого начала и сравнивали ответы новой версии с предыдущими. Это позволяло быть уверенными, что оптимизация кода и доработки не вносят ошибки в решения. Тут нужно понимать, что правильных ответов в конце учебника нет, и никто в мире их не знает.
Запуск на кластере подтвердил наши предположения по скорости решений: поиск последовательностей для n>100 занимал около часа. Было удивительно видеть как на кластере ComBox A-480 новые решения находились за минуты, в то время как на CPU это занимало многие часы.

Всего через два часа работы вычислительного кластера мы получили все решения до n=127. Проверка решений показала, что полученные ответы достоверны и соответствуют изложенным в статье теоремам профессора Чуднова А.М.

Эволюция скорости


Если посмотреть прирост производительности в ходе решения задачи, то результаты были примерно такими:
  • полтора месяца до n=80 в Excel;
  • час до n=80 на Core i5 с оптимизированной программой на С++;
  • 10 минут до n=80 на Core i5 с использованием многопоточности;
  • 10 минут до n=100 на одном GPU AMD RX 480;
  • 120 минут до n=127 на ComBox A-480.

Перспективы и будущее


Многие задачи стоящие на стыке науки и практики ожидают своего решения, чтобы сделать нашу жизнь лучше. Рынок аренды вычислительных мощностей только формируется, а потребность в параллельных вычислениях продолжает расти.

Возможные области применения параллельных вычислений:

  • задачи автоматического управления транспортными средствами и дронами;
  • расчеты аэродинамических и гидродинамических характеристик;
  • распознавание речи и визуальных образов;
  • обучение нейронных сетей;
  • задачи астрономии и космонавтики;
  • статистический и корреляционный анализ данных;
  • фолдинг белок-белковых соединений;
  • ранняя диагностика заболеваний с применением ИИ.

Отдельное направление — облачные вычисления на GPU. Например, такие гиганты как Amazon, IBM и Google сдают свои вычислительные мощности на GPU в аренду. Сегодня с уверенностью можно сказать что будущее высокопроизводительных параллельных вычислений будет принадлежать GPU кластерам.

Встроенный графический процессор - зачем он нужен?

Что такое встроенная графика?

Встроенный графический процессор как для геймеров, так и для нетребовательных пользователей играет важную роль.

От него зависит качество игр, фильмов, просмотра видео в интернете и изображений.

Содержание:

Принцип работы

Графический процессор встроен в материнскую плату

Графический процессор интегрируется в материнскую плату компьютера — так выглядит встроенный графический процессор.

Как правило, используют его, чтобы убрать необходимость установки графического адаптера — видеокарты.

Такая технология помогает снизить себестоимость готового продукта. Кроме того, благодаря компактности и нетребовательного энергопотребления таких процессоров их часто устанавливают в ноутбуки и маломощные настольные компьютеры.

Таким образом, встроенные графические процессоры заполонили эту нишу настолько, что 90% ноутбуков на полках магазинов США имеют именно такой процессор.

Вместо обычной видеокарты во встроенных графиках часто вспомогательным средством служит сама оперативная память компьютера.

Правда, такое решение несколько ограничивает производительность девайса. Всё же сам компьютер и графический процессор используют одну шину для памяти.

Так что подобное “соседство” сказывается на выполнении задач, особенно при работе со сложной графикой и во время игрового процесса.

к содержанию ↑

Виды

Виды графических процессоров

Встроенная графика имеет три группы:

  1. Графика с разделяемой памятью — устройство, в основе которого совместное с главным процессором управление оперативной памятью. Это значительно уменьшает стоимость, улучшает систему энергосбережения, однако ухудшает производительность. Соответственно, для тех, кто работает со сложными программами, встроенные графические процессоры такого вида с большей вероятностью не подойдут.
  2. Дискретная графика — видеочип и один-два модуля видеопамяти распаяны на системной плате. Благодаря этой технологии существенно улучшается качество изображения, а также становится возможным работать с трехмерной графикой с наилучшими результатами. Правда, заплатить за это придется немало, а если вы и подыскиваете высокомощный процессор по всем параметрам, то стоимость может быть неимоверно высокой. К тому же, счет за электричество несколько вырастет — энергопотребление дискретных графических процессоров выше обычного.
  3. Гибридная дискретная графика — сочетание двух предыдущих видов, что обеспечило создание шины PCI Express. Таким образом, доступ к памяти осуществляется и через распаянную видеопамять, и через оперативную. С помощью этого решения производители хотели создать компромиссное решение, но оно все же не нивелирует недостатки.
к содержанию ↑

Производители

Занимаются изготовлением и разработкой встроенных графических процессоров, как правило, крупные компании — Intel, AMD и Nvidia, но подключаются к этой сфере и многие небольшие предприятия.

Видеокарты от AMD пользователи считают более мощными, чем те же Intel. Однако чем же не угодили Intel? Если верить статистике, то они лидеры продаж микросхем.

к содержанию ↑

Intel Graphics

Графические процессоры от Intel

Данная компания начала использовать встроенные видеокарты с выхода Westmere.

После него HD Graphics ставили лишь в Pentium и Celeron. С поколения Haswell разработали новую классификацию чипов: 4 — Haswell, 5 — Broadwell. Но с поколения Skylake маркировка вновь изменилась.

Маркировка делится на четыре вида:

  • P — выключенное видеоядро;
  • C — специально разработанная для LGA;
  • R — для BGA;
  • H — рассчитано на мобильные устройства (Iris Pro).
к содержанию ↑

Intel HD Graphics 530

Одна из последних разработок Intel в сфере интегрированный видеокарт —  Intel HD Graphics 530.

Его производители позиционируют как оптимальное решение даже для самых мощных игр, правда, реальность не настолько оптимистична.

Основана новая видеокарта на графическом ядре Skylake. Оно же, в свою очередь, строится на основе одного или нескольких модулей, каждый из которых состоит из трех секций.

Они соединяют по 8 устройств-исполнителей, обрабатывающих графические данные, и, вдобавок ко всему, содержат специальные модули, работающие с памятью, и текстурные семплеры.

К тому же, графическое ядро имеет внемодульную часть, что улучшает и добавляет некоторые функции.

Сейчас же фирма Intel работает непосредственно с увеличением мощности своей продукции, а также добавлением новых функций.

К примеру, в GPU запустили новую технологию Lossless Render Target Compression, которая позволяет осуществлять рендринг видео без существенных потерь в качестве.

К тому же, компания трудилась над увеличением быстродействия интегрированных процессоров в играх на 3-11%.

Разработчики поработали и над качеством воспроизведения видео — его интегрированная видеокарта поддерживает и в 4К разрешении.

Что касается игр, то большая часть будет работать нормально, но для заядлых геймеров все же стоит обратить внимание на AMD 10.

Их графическая производительность значительно превышает показатели HD Graphics 530. Так что видеоядро HD Graphics 530 подойдет по большей мере для нетребовательных сетевых игр и, конечно, же потянет обычные мини-игры.

к содержанию ↑

AMD

Графические процессоры от AMD

Процессоры AMD со встроенным графическим ядром являются едва ли не прямыми конкурентами Intel.

Соперничество, конечно, заключается в предоставлении наилучшего соотношения цена/качество. Как ни странно, AMD таки отстает от своего соперника, у которого доля продаж выше.

Однако работают процессоры AMD порой значительно лучше.

Правда, ситуация совсем другая, когда речь идет о дискретных процессорах. Около 51% как раз доля AMD. Так что если вас интересует именно дискретная графика, стоит обратить внимание именно на эту компанию.

Одна из последних разработок AMD, которая составляет неплохую конкуренцию Intel HD Graphics 530, — AMD A10-7850K.

к содержанию ↑

AMD A10-7850K

Относится данный тип интегрированной графики к гибридному виду. Ядро Kaveri вмещает 8 асинхронных вычислительных движков. Причем доступ к системной памяти у них с x86-ядрами равноценный.

В частности, при помощи HSA вычислительные кластеры выполняют собственные процессы независимо от других ядер.

Таким образом, A10-7850К имеет в распоряжении 4 вычислительные ядра и 8 графических кластеров.

AMD по этому поводу называет данную разработку 12-ядерным процессором. Правда, не все так гладко: 12 ядер не равнозначные, им нужны специализированные программные коды.

Сама же ОС не заметит никаких дополнительных восьми ядер, а увидит все те же 4 x86-ядра.

В общем, x86-составляющая несколько портит все впечатление.

К примеру, тактовая частота изрядно пострадала. Причем настолько, что даже предыдущая модель посильнее будет. Может, в будущем производитель будет дорабатывать данный параметр. Всё же показатель хотя бы в 4 ГГц улучшил работоспособность и быстродействие.

На данный момент средняя частота работы этой встроенной графики во время серьезной нагрузки составляет 3,8 ГГц. В обычном положении достигает 1,7 ГГц.

Таким образом, данная модель дискретной графики в меру мощная, но и несколько дешевле аналога от Intel. Игры такое устройство потянет, работу с трехмерным изображением тоже.

к содержанию ↑

Включить

Выходы интегрированной видеокарты

Включить интегрированную графику не составляет особого труда. Чаще всего сам монитор выводит изображение с подключенной к нему видеокарты.

Правда, и такой автоматический режим не всегда срабатывает. Тогда и нужно самостоятельно заняться решение проблемы — поменять настройки в БИОС.

Сделать это несложно. Найдите надпись Primary Display или Init Display First. Если не видите что-то такое, поищите Onboard, PCI, AGP или PCI-E (всё зависит от установленных шин на материнку).

Выбрав PCI-E, к примеру, вы включаете видеокарту PCI-Express, а встроенную интегрированную отключаете.

Таким образом, чтобы включить интегрированную видеокарту нужно найти соответствующие параметры в биосе. Часто процесс включения автоматический.

к содержанию ↑

Отключить

Как включить встроенный процессор

Отключение лучше проводить в БИОСе. Это самый простой и незатейливый вариант, подходящий для практически всех ПК. Исключением являются разве что некоторые ноутбуки.

Снова же найдите в БИОС Peripherals или Integrated Peripherals, если вы работаете на десктопе.

Для ноутбуков название функции другое, причем и не везде одинаковое. Так что просто найдите что-то относящиеся к графике. К примеру, нужные опции могут быть размещены в разделах Advanced и Config.

Отключение тоже проводится по-разному. Иногда хватает просто щелкнуть “Disabled” и выставить PCI-E видеокарту первой в списке.

Если вы пользователь ноутбука, не пугайтесь, если не можете найти подходящий вариант, у вас априори может не быть такой функции. Для всех остальных устройств же правила простые — как бы не выглядел сам БИОС, начинка та же.

Если вы имеете две видеокарты и они обе показаны в диспетчере устройств, то дело совсем простое: кликнете на одну из них правой стороной мышки и выберите “отключить”. Правда, учитывайте, что дисплей может потухнуть. У ноутбуков, скорее всего, так и будет.

Однако и это решаемая проблема. Достаточно перезагрузить компьютер или же подключить второй монитор по HDMI или VGA.

Все последующие настройки проведите на нем. Если не работает данный способ, сделайте откат своих действий с помощью безопасного режима. Также можете прибегнуть и к предыдущему способу — через БИОС.

Две программы —  NVIDIA Control Center и Catalyst Control Center — настраивают использование определенного видеоадаптера.

Они наиболее неприхотливы по сравнению с двумя другими способами — экран вряд ли выключится, через БИОС вы тоже случайно не собьете настройки.

Для NVIDIA все настройки находятся в разделе 3D.

Выбрать предпочитаемый видеоадаптер можно и для всей операционной системы, и для определенных программ и игр.

В ПО Catalyst идентичная функция расположена в опции «Питание» в подпункте “Switchable Graphics”.

Таким образом, переключиться между графическими процессорами не составляет особого труда.

Есть разные методы, в частности, и через программы, и через БИОС, Включение или выключение той или иной интегрированной графики может сопутствоваться некоторыми сбоями, связанных преимущественно с изображением.

Может погаснуть экран или просто появиться искажения. На сами файлы в компьютере ничего не должно повлиять, разве что вы что-то наклацали в БИОСе.

к содержанию ↑

Заключение

Нужна ли встроенная графика?

В итоге, встроенные графические процессоры пользуются спросом за счет своей дешевизны и компактности.

За это же придется платить уровнем производительности самого компьютера.

В некоторых случая интегрированная графика просто необходима — дискретные процессоры идеальны для работы с трехмерными изображениями.

К тому же, лидеры отрасли — Intel, AMD и Nvidia. Каждый из них предлагает свои графические ускорители, процессоры и другие составляющие.

Последние популярные модели — Intel HD Graphics 530 и AMD A10-7850K. Они довольно функциональны, но имеют некоторые огрехи. В частности, это относится к мощности, производительности и стоимости готового продукта.

Включить или отключить графический процессор со встроенным ядром можно или же самостоятельно через БИОС, утилиты и разного рода программы, но и сам компьютер вполне может сделать это за вас. Всё зависит от того, какая видеокарта подключена к самому монитору.

 

 


Смотрите также

Описание: