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

Что такое CPU?

CPU (Central Processing Unit) – это центральный процессор, другими словами – “мозг” компьютера. Это набор из нескольких миллионов транзисторов, которые могут выполнять сложные вычисления. Стандартный процессор имеет от одного до четырех ядер с тактовой частотой от 1 до 4 ГГц, хотя недавно .

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

Что такое GPU?

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

В чем разница между CPU и GPU?

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

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

Немного об вычислениях на GPU

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

Итог

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

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

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

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

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

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

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

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

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

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

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

Как работает процессор

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

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

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

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

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

Время, которое пройдет от создания заявки на покупку или продажу до получения ответа о ее успешныом выполнеии от биржевого сервера называется раундтрипом (round-trip, RTT). Участники рынка всеми силами стремятся снизить это время, в частности для этого используются технологии прямого доступа на биржу, а серверы с торговым софтом располагаются на колокации рядом с торговым движком бирж.

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

Что такое GPU

Архитектура современных графических карт строится на основе масштабируемого массива потоковых мультипроцессоров. Один такой мультипроцессор содержит восемь скалярных процессорных ядер, многопоточный модуль инструкций, разделяемую память, расположенную на чипе (on-chip).

Когда программа на C, использующая расширения CUDA, вызывает ядро GPU, копии этого ядра или потоки, нумеруются и распределяются на доступные мультипроцессоры, где уже начинается их выполнение. Для такой нумерации и распределения сеть ядра подразделяется на блоки, каждый из которых делится на различные потоки. Потоки в таких блоках выполняются одновременно на доступных мультипроцессорах. Для управления большим количеством потоков используется модуль SIMT (single-instruction multiple-thread). Этот модуль группирует их в «пачки» по 32 потока. Такие группы исполняются на том же мультипроцессоре.

Анализ финансовых данных на GPU

В финансовом анализе применяется множество мер и показателей, расчет которых требует серьезных вычислительных мощностей. Ниже мы перечислим некоторые из них и сравним быстродействие при их обработке, показанное «обычным» процессоромо Intel Core 2 Quad CPU (Q6700) c тактовой частотой 2,66 ГГц и размером кэша 4096 килобайт, а также популярных графических карт.
Экспонента Херста
Мера, называемая экспонентной Херста, используется в анализе временных рядов. Эта величина уменьшается в том случае, если задержка между двумя одинаковыми парами значений во временном ряду увеличивается. Изначально это понятие применялось в гидрологии для определения размеров плотины на реке Нил в условиях непредсказуемых дождей и засух.

Впоследствии показатель Херста начали применять в экономике, в частности, в техническом анализе для предсказания трендов движения ценовых рядов. Ниже представлено сравнение быстродействия вычисления показателя Херста на CPU и GPU (показатель «ускорения» β = общее время выисления на CPU / общее время вычисления на GPU GeForce 8800 GT):

Модель Изинга и метод Монте-Карло
Еще одним инструментом, перекочевавшим в сферу финансов на этот раз из физики, является модель Изинга . Эта математическая модель статистической физики предназначена для описания намагничивания материала.

Каждой вершине кристаллической решётки (рассматриваются не только трёхмерные, но и одно- и двумерные вариации) сопоставляется число, называемое спином и равное +1 или −1 («поле вверх»/«поле вниз»). Каждому из 2^N возможных вариантов расположения спинов (где N - число атомов решётки) приписывается энергия, получающаяся из попарного взаимодействия спинов соседних атомов. Далее для заданной температуры рассматривается распределение Гиббса - рассматривается его поведение при большом числе атомов N.

В некоторых моделях (например, при размерности > 1) наблюдается фазовый переход второго рода. Температура, при которой исчезают магнитные свойства материала, называется критической (точка Кюри). В ее окрестности ряд термодинамических характеристик расходится.

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

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

Ниже представлено сравнение быстродействия моделирования на CPU и GPU (NVIDIA GeForce GTX 280):

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

Ускорение с помощью нескольких GPU

Для ускорения обработки данных также используются кластеры GPU-устройств - в данном случае исследователи собрали кластер из двух карточек Tesla C1060 GPU, коммуникация между которыми осуществлялась через Double Data Rate InfiniBand.

В случае симуляции модели Изинга методом Монте-Карло результаты говорят о том, что производительность повышается практически линейно при добавлении большего количества GPU.

Заключение

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

Все мы знаем, что у видеокарты и процессора несколько различные задачи, однако знаете ли вы, чем они отличаются друг от друга во внутренней структуре? Как 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 исполняет 12 потока вычислений на одно процессорное ядро, а GPU может поддерживать несколько тысяч потоков на каждый мультипроцессор, которых в чипе несколько штук! И если переключение с одного потока на другой для CPU стоит сотни тактов, то GPU переключает несколько потоков за один такт.

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

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

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

Майнинг Bitcoin

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