GPU vs CPU: Почему для анализа финансовых данных применяют графические процессоры. В чем разница между CPU и GPU

Немецкого исследователя об использовании вычислений 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, GPU, HDD, SSD, ОЗУ и так далее. Каждая из этих аббревиатур имеет свою расшифровку, но в данный момент имеет значение, что же это - GPU?

Есть схожее название с этим термином - это CPU. Многие неопытные пользователи путают эти названия, что неверно. Для начала стоит пояснить, что CPU - это центральный процессор, который является мозгом всей системы. Расшифровывается эта аббревиатура так - Central Processor Unit.

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

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

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

На данный момент есть два вида встроенных графических процессоров - это интегрированные в материнскую плату и встроенные в процессор.

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

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

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

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

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

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

Температурный режим

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

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

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

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

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

CPU (Central Processing Unit или же Центральное Процессорное Устройство) часто называют "мозгом" компьютера. Внутри центрального процессора расположено около миллиона транзисторов, с помощью которых производятся различные вычисления. В домашних компьютерах обычно устанавливаются процессоры, имеющие от 1 до 4 ядер с тактовой частотой приблизительно от 1 ГГц до 4 ГГц.

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

Что такое GPU?

GPU (Graphics Processing Unit или же Графическое Процессорное Устройство) представляет собой специализированный тип микропроцессора, оптимизированный для очень специфических вычислений и отображения графики. Графический процессор работает на более низкой тактовой частоте в отличие от процессора, но имеет намного больше процессорных ядер.

Также можно сказать, что GPU - это специализированный CPU, сделанный для одной конкретной цели - рендеринг видео. Во время рендеринга графический процессор огромное количество раз выполняет несложные математические вычисления. GPU имеет тысячи ядер, которые будут работать одновременно. Хоть и каждое ядро графического процессора медленнее ядра центрального процессора, это все равно эффективнее для выполнения простых математических вычислений, необходимых для отображения графики. Этот массивный параллелизм является тем, что делает GPU способным к рендерингу сложной 3D графики, требуемой современными играми.

Отличие CPU и GPU

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

Возьмем, например, Nvidia GTX 1080. Данная видеокарта имеет 2560 шейдерных ядер. Благодаря этим ядрам Nvidia GTX 1080 может выполнить 2560 инструкций или операций за один такт. Если вы захотите сделать картинку на 1% ярче, то GPU с этим справится без особого труда. А вот четырехъядерный центральный процессор Intel Core i5 сможет выполнить только 4 инструкции за один такт.

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

Вычисления на GPU

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

Выводы

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

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 Speed — я расскажу простыми словами что это. Ну для начала разберем само название, GPU это графический процессор или по-простому видеокарта ваша, кстати расшифровывается как Graphics Processing Unit. Второе слово это Speed и оно означает скорость. Какой вывод? GPU Speed означает скорость видеокарты.

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

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

На картинке фирменная прога от Asus, это GPU Tweak II. И я так понимаю что прога позволяет переключать режимы видюхи. И вот смотрите, на картинке написано 122%, верно? Что это означает? А означает то, что видюха работает на 22% производительнее чем обычно. То есть некий такой разгончик себе. И справа сразу мы видим температуру, чтобы смотреть как там дела, ведь при разгоне температура повышается все таки.

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

Вот я нашел еще одну картинку, тут все таже прога, но уже 137% стоит:

И вверху видите выбран режим Gaming Mode, то есть игровой режим.

GPU Speed 100 — это нормально?

Значит ребята, в интернете видел сообщения некоторых, они спрашивают GPU Speed 100 это нормально или нет? Ну тут вопрос не совсем ясный мне, да и должен признаться я не особо разбираюсь в видеокартах.. Но есть серьезная причина, по которой я решил написать.

Значит смотрите, при простое видеокарта также может скидывать частоту как это умеет делать процессор? Я посмотрел в интернете — вроде умеет. Но что это значит, когда видеокарта в простое загружена на все 100 процентов? А тут ребята не все так просто. Я могу ошибаться, но не так много есть программ, которые нагружают именно видеокарту, а не как обычно процессор. То есть если проге нужна мощь, то обычно она берет себе процессор, верно? Но не видеокарту, я конечно не имею ввиду игры.. если игра грузит видюху, то я думаю это нормально как бэ. Но знаете к чему я клоню? Да вот к тому, что может быть это.. майнер. Есть такие вирусы, которые используют мощь видюхи в своих целях. Некоторые это делают нагло и поэтому это сразу заметно, а некоторые используют чучуть только производительности и делают так, чтобы это было незаметно..

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

В общем если видеокарта загружена на 100 процентов в простое, то первым делом я бы проверил комп на вирусы. Для этого я советую вам использовать утилиту Dr.Web CureIt!, ее скачать можно вот тут (это офф сайт):

Кстати вот я могу ошибаться.. но смотрите на картинку:

Видите, там где GPU Speed, то там 100%, а вот там где VRAM Usage, то там 1%. Повторюсь, что я не особо понимаю в видеокартах, но мне кажется что это странная ситуация, когда графический процессор нагружен на все 100%, а вот видеопамять (это VRAM Usage) вообще не используется.. Вот это ситуация как мне кажется подозрительная.

Fan Speed GPU это что?

Fan Speed означает скорость вентилятора, это относится к охлаждению. И если в Fan Speed GPU показываются проценты, то это означает на сколько работает система охлаждения видеокарты. Просто могут быть не проценты а RPM — это количество оборотов вентилятора. Вот например прога от AMD Radeon Settings и тут есть такой вот показатель, правда просто Fan Speed, без GPU, в общем смотрите:

А вот прога снова GPU Tweak II и тут есть Fan Speed и как я понимаю можно регулировать в процентах:

Вот такие дела ребята, надеюсь что инфа была вам полезна, ну а если что не так, то извините! Удачи вам и пусть у вас все будет хорошо!