Что такое графический процессор и как он работает. Fan Speed GPU это что? GPU - что это, и в чем отличие от CPU

05.05.2019

На что мы смотрим в первую очередь, выбирая себе смартфон? Если на минутку отвлечься от стоимости, то в первую очередь мы, конечно, выбираем размер экрана. Затем нас интересует камера, объем оперативной, количество ядер и частота работы процессора. И тут все просто: чем больше, тем лучше, а чем меньше, тем, соответственно, хуже. Однако в современных устройствах используется еще и графический процессор, он же GPU. Что это такое, как он работает и почему про него важно знать, мы расскажем ниже.

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

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


Видеокарты, которые подключаются отдельно и работают на высоких мощностях, существуют только в ноутбуках и настольных компьютерах. Если мы говорим об Android-устройствах, то мы говорим об интегрированной графике и том, что мы называем SoC (System-on-a-Chip). К примеру, в процессоре интегрирован графический процессор Adreno 430. Память, которую он использует для своей работы, это системная память, в то время как для видеокарт в настольных ПК выделяется доступная только им память. Правда, существуют и гибридные чипы.

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

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


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

По материалам AndroidPit

Изучая технические характеристики компьютера, вы можете встретить такой термин как GPU. Данный термин обычно не объясняется простыми словами, поэтому пользователи редко понимают, что конкретно он означает. Иногда под GPU пользователи понимают видеокарту, хотя это не совсем верно. На самом деле GPU является частью видеокарты, а не самой видеокартой. В этом материале мы подробно расскажем о том, что такое GPU в компьютере, а также как узнать свой GPU и его температуру.

Аббревиатура GPU расшифровывается как Graphics Processing Unit, что можно перевести как устройство для обработки графики. Фактически GPU именно этим и является это отдельный модуль компьютера, который отвечает за обработку графики. В компьютере GPU может быть выполнен как отдельный кремниевый чип, который распаян на материнской или собственной отдельной плате (видеокарте), либо как часть центрального процессора или чипсета (северный мост).

Как выглядит GPU в компьютере.

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

В некоторых случаях под термином GPU понимают видеокарту, что не совсем верно, поскольку GPU – это именно чип (графический процессор), который занимается обработкой графики, а видеокарта - это целое устройство ответственное за обработку графики. Видеокарта состоит из графического процессора, памяти, имеет собственную плату и BIOS.

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

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

Как узнать какой GPU в компьютере

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

В результате должно открыться окно «Диспетчера устройств». Здесь в разделе «Видеоадаптеры» будет указано название видеокарты.

Но, вариант с диспетчером устройств не самый надежный. Если вы не установили драйверы для видеокарты, то система может ее не опознать и в диспетчере устройств не будет информации о ее названии. В таком случае лучше обратиться к сторонним программам. Например, можно установить программу , которая покажет всю возможную информацию об установленной видеокарте. Например, в GPU-Z название видеокарты можно узнать в строке «Name» в самом верху окна программы. На скриншоте внизу показано название видеокарты, это NVIDIA GTX GeForce 950.

Также в GPU-Z можно узнать название самого GPU (графического процессора). Например, на скриншоте внизу показано, что видеокарта NVIDIA GTX GeForce 950 построена на базе графического процессора GM206.

Температура GPU

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

Узнать температуру GPU можно с помощью специальных программ. Например, можно использовать , которую мы уже вспоминали. Если в программе GPU-Z перейти на вкладку «Sensors», то можно получить информацию о текучем состоянии видеокарты. Здесь будет указана частота GPU, его загрузка, температура и другие параметры.

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

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

  • до 55 °C в режиме простоя;
  • до 80 °C под нагрузкой;

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

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

Вы решили купить компьютер. Ходите вдоль торговых рядов, смотрите на ценники, знакомитесь с характеристиками. И возникает вопрос: что такое GPU? Часто вы наблюдаете это сочетание букв, но смысла не видите. Попробуем объяснить.

GPU - что это, и в чем отличие от CPU

GPU расшифровывается как "graphics processing unit", или графический процессор. Он являет собой отдельное устройство игровой приставки, компьютера, фотоаппарата. Отвечает за рендеринг графики, выполняет его. Справляется с этой задачей GPU замечательно, обусловлено это специально предназначенной для данных целей конвейерной архитектурой. Современные GPU куда лучше обрабатывают графику, чем аналогичные им классические центральные процессоры (ЦПУ).

В настоящее время ГПУ применяется в качестве акселератора 3D-графики, но в исключительных случаях он может быть использован для вычислений. Отличает ГПУ от ЦПУ следующее:

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

Колоссальная вычислительная мощность объясняется именно особенностями архитектуры. Наряду с современными CPU, содержащими несколько ядер (2/4/8, что уже считалось прорывом), GPU изначально разрабатывался как многоядерная структура. Число ядер тут исчисляется сотнями!

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

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

Вы теперь знаете многое о GPU, что такое GPU, и можете даже рассказать друзьям.

Графические процессоры (graphics processing unit, GPU) - яркий пример того, как технология, спроектированная для задач графической обработки, распространилась на несвязанную область высокопроизводительных вычислений. Современные GPU являются сердцем множества сложнейших проектов в сфере машинного обучения и анализа данных. В нашей обзорной статье мы расскажем, как клиенты Selectel используют оборудование с GPU, и подумаем о будущем науки о данных и вычислительных устройств вместе с преподавателями Школы анализа данных Яндекс.

Графические процессоры за последние десять лет сильно изменились. Помимо колоссального прироста производительности, произошло разделение устройств по типу использования. Так, в отдельное направление выделяются видеокарты для домашних игровых систем и установок виртуальной реальности. Появляются мощные узкоспециализированные устройства: для серверных систем одним из ведущих ускорителей является NVIDIA Tesla P100 , разработанный именно для промышленного использования в дата-центрах. Помимо GPU активно ведутся исследования в сфере создания нового типа процессоров, имитирующих работу головного мозга. Примером может служить однокристальная платформа Kirin 970 с собственным нейроморфным процессором для задач, связанных с нейронными сетями и распознаванием образов.

Подобная ситуация заставляет задуматься над следующими вопросами:

  • Почему сфера анализа данных и машинного обучения стала такой популярной?
  • Как графические процессоры стали доминировать на рынке оборудования для интенсивной работы с данными?
  • Какие исследования в области анализа данных будут наиболее перспективными в ближайшем будущем?

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

Эпоха GPU

Для начала вспомним, что же такое GPU. Graphics Processing Unit — это графический процессор широко используемый в настольных и серверных системах. Отличительной особенностью этого устройства является ориентированность на массовые параллельные вычисления. В отличие от графических процессоров архитектура другого вычислительного модуля CPU (Central Processor Unit) предназначена для последовательной обработки данных. Если количество ядер в обычном CPU измеряется десятками, то в GPU их счет идет на тысячи, что накладывает ограничения на типы выполняемых команд, однако обеспечивает высокую вычислительную производительность в задачах, включающих параллелизм.

Первые шаги

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

Следующим революционным событием стало появление нового класса более сложных и многофункциональных устройств — видеопроцессоров. В 1996 году компания 3dfx Interactive выпустила чипсет Voodoo Graphics, который быстро занял 85% рынка специализированных видеоустройств и стал лидером в области 3D графики того времени. После серии неудачных решений менеджмента компании, среди которых была покупка производителя видеокарт STB, 3dfx уступила первенство NVIDIA и ATI (позднее AMD), а в 2002 объявила о своем банкротстве.

Общие вычисления на GPU

В 2006 году NVIDIA объявила о выпуске линейки продуктов GeForce 8 series, которая положила начало новому классу устройств, предназначенных для общих вычислений на графических процессорах (GPGPU). В ходе разработки NVIDIA пришла к пониманию, что большее число ядер, работающих на меньшей частоте, более эффективны для параллельных нагрузок, чем малое число более производительных ядер. Видеопроцессоры нового поколения обеспечили поддержку параллельных вычислений не только для обработки видеопотоков, но также для проблем, связанных с машинным обучением, линейной алгеброй, статистикой и другими научными или коммерческими задачами.

Признанный лидер

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

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

  • CPU. Intel Xeon E5-2680 v4 — 28 потоков с HyperThreading, 2.4 GHZ;
  • GPU. NVIDIA GTX 1080 — 2560 CUDA Cores, 1607 Mhz, 8GB GDDR5X.

Используем пример вычисления перемножения матриц на CPU и GPU в Jupyter Notebook:

В коде выше мы измеряем время, которое потребовалось на вычисление матриц одинакового порядка на центральном или графическом процессоре («Время выполнения»). Данные можно представить в виде графика, на котором горизонтальная ось отображает порядок перемножаемых матриц, а вертикальная - Время выполнения в секундах:

Линия графика, выделенная оранжевым, показывает время, которое требуется для создания данных в обычном ОЗУ, передачу их в память GPU и последующие вычисления. Зеленая линия показывает время, которое требуется на вычисление данных, которые были сгенерированы уже в памяти видеокарты (без передачи из ОЗУ). Синяя отображает время подсчета на центральном процессоре. Матрицы порядка менее 1000 элементов перемножаются на GPU и CPU почти за одинаковое время. Разница в производительности хорошо проявляется с матрицами размерами более 2000 на 2000, когда время вычислений на CPU подскакивает до 1 секунды, а GPU остается близким к нулю.

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

Кому в Selectel жить хорошо с GPU?

Первый вариант, который сразу приходит на ум и оказывается правильной догадкой — это майнинг, однако любопытно отметить, что некоторые применяют его как вспомогательный способ загрузить оборудование на «максимум». В случае аренды выделенного сервера с видеокартами, время свободное от рабочих нагрузок используется для добычи криптовалют, не требующих специализированных установок (ферм) для своего получения.

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

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

Наука о данных

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

Современный подход к работе с данными включает в себя несколько основных направлений:

  • Большие данные (Big Data). Основная проблема в данной сфере - колоссальный объем информации, который не может быть обработан на единственном сервере. С точки зрения инфраструктурного обеспечения, требуется решать задачи создания кластерных систем, масштабируемости, отказоустойчивости, и распределенного хранения данных;
  • Ресурсоемкие задачи (Машинное обучение, глубокое обучение и другие). В этом случае поднимается вопрос использования высокопроизводительных вычислений, требующих большого количества ОЗУ и процессорных ресурсов. В таких задачах активно используются системы с графическими ускорителями.

Граница между данными направления постепенно стирается: основные инструменты для работы с большими данным (Hadoop, Spark) внедряют поддержку вычислений на GPU, а задачи машинного обучения охватывают новые сферы и требуют бо́льших объемов данных. Разобраться подробнее нам помогут преподаватели и студенты Школы анализа данных.

Трудно переоценить важность грамотной работы с данными и уместного внедрения продвинутых аналитических инструментов. Речь идёт даже не о больших данных, их «озерах» или «реках», а именно об интеллектуальном взаимодействии с информацией. Происходящее сейчас представляет собой уникальную ситуацию: мы можем собирать самую разнообразную информацию и использовать продвинутые инструменты и сервисы для глубокого анализа. Бизнес внедряет подобные технологии не только для получения продвинутой аналитики, но и для создания уникального продукта в любой отрасли. Именно последний пункт во многом формирует и стимулирует рост индустрии анализа данных.

Новое направление

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

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

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

Технологии анализа данных

За время обучения слушатели от основ (базовой высшей математики, алгоритмов и программирования) доходят до самых передовых областей машинного обучения. Мы собирали информацию по тем, в которых используются серверы с GPU:

  • Глубинное обучение;
  • Обучение с подкреплением;
  • Компьютерное зрение;
  • Автоматическая обработка текстов.

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

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

Дальнейшее развитие и проекты

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

О будущем анализа данных мы поговорили с преподавателями Школы анализа данных, которые поделились с нами своим видением развития науки о данных.

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

Один из наставников Школы анализа данных делится своим мнением касательно распространения и начала массового использования машинного обучения:

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

  • скачать веса уже обученной нейросети (например, в keras);
  • сделать с ее помощью решение для своей задачи (fine-tuning, zero-shot learning);
  • встроить её в свой веб-сайт или мобильное приложение (tensorflow / caffe 2).

Многие большие компании и стартапы уже выиграли на такой стратегии (например, Prisma), но еще больше задач только предстоит открыть и решить. И, быть может, вся эта история с машинным/глубинным обучением когда-нибудь станет такой же обыденностью, как сейчас python или excel»

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

Возможности для новичков

Изучение анализа данных ограничивается высокими требованиями к обучающимся: обширные познания в области математики и алгоритмики, умение программировать. По-настоящему серьезные задачи машинного обучения требуют уже наличия специализированного оборудования. А для желающих побольше узнать о теоретической составляющей науки о данных Школой анализа данных совместно с Высшей Школой Экономики был запущен онлайн курс « ».

Вместо заключения

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

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

А опытным и искушенным в сфере машинного обучения, анализа данных и не только мы предлагаем посмотреть от Selectel по аренде серверного оборудования с графическми ускорителями: от простых GTX 1080 до Tesla P100 и K80 для самых требовательных задач.

Все мы знаем, что у видеокарты и процессора несколько различные задачи, однако знаете ли вы, чем они отличаются друг от друга во внутренней структуре? Как CPU (англ. - central processing unit ), так и GPU (англ. - graphics processing unit ) являются процессорами, и между ними есть много общего, однако сконструированы они были для выполнения различных задач. Подробнее об этом вы узнаете из данной статьи.

CPU

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

GPU

Основная функция GPU - рендеринг 3D графики и визуальных эффектов, следовательно, в нем все немного проще: ему необходимо получить на входе полигоны, а после проведения над ними необходимых математических и логических операций, на выходе выдать координаты пикселей. По сути, работа GPU сводится к оперированию над огромным количеством независимых между собой задач, следовательно, он содержит большой объем памяти, но не такой быстрой, как в CPU, и огромное количество исполнительных блоков: в современных GPU их 2048 и более, в то время как у CPU их количество может достигать 48, но чаще всего их количество лежит в диапазоне 2-8.

Основные отличия

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

Есть множество различий и в поддержке многопоточности: CPU исполняет 1 2 потока вычислений на одно процессорное ядро, а GPU может поддерживать несколько тысяч потоков на каждый мультипроцессор, которых в чипе несколько штук! И если переключение с одного потока на другой для CPU стоит сотни тактов, то GPU переключает несколько потоков за один такт.

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

Разница в скорости вычислений

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

Майнинг Bitcoin

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