Выполнимость GPU в качестве процессора?

Как вы думаете, какое будущее у GPU как инициативы CPU, такие как CUDA? Как вы думаете, они станут мейнстримом и станут следующей причудой в индустрии? Apple создает новую структуру для использования графического процессора для выполнения задач ЦП, и проект Nvidia CUDA добился большого успеха в науке. Вы бы посоветовали студенту посвятить время этой области?


person AutomaticPixel    schedule 26.08.2008    source источник


Ответы (8)


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

На мой взгляд, GPU — это очень интересная альтернатива всякий раз, когда вы занимаетесь векторной математикой с плавающей запятой. Однако это означает: это не станет мейнстримом. Большинство основных (настольных) приложений выполняют очень мало вычислений с плавающей запятой.

Он уже набрал обороты в играх (физических движках) и в научных расчетах. Если вы считаете любой из этих двух «мейнстримом», то да, GPU станет мейнстримом.

Я бы не стал рассматривать эти два продукта как основные, и поэтому я думаю, что GPU станут следующей популярной модой в основной индустрии.

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

person Mo.    schedule 26.08.2008
comment
Учитывая, что суперкомпьютеры создаются исключительно для научных расчетов, а видеоигры ведут разработку графики, ИИ и интенсивных приложений с физикой (особенно все сразу), я не знаю, как можно было считать их не мейнстримом. Но я согласен, GPU никогда не заменит CPU. У GPU просто нет гибкости. - person Narcolapser; 21.06.2010
comment
Интересно взглянуть на этот вопрос спустя несколько лет. Я думаю, что к этому моменту GPU определенно стали более популярными, хотя замена процессора маловероятна. Они все равно добавляют все больше и больше ядер =) И да, вероятно, лучше жить у Programmers, чем у SO. - person Garet Claborn; 20.03.2011
comment
@Narcolapser Не могли бы вы уточнить, что вы подразумеваете под гибкостью в ответе, и пропинговать меня? Огромное спасибо заранее! - person ; 23.12.2013

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

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

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

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

Рынок GPGPU по-прежнему капля в море и в определенной степени останется таковым. В конце концов, «это выглядит красиво» — это гораздо более низкий стандарт, чем «100% гарантированные и воспроизводимые результаты каждый раз».

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

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

person mch    schedule 31.10.2008
comment
+1 В конце концов, красиво выглядит - это гораздо более низкий стандарт, чем 100% гарантированные и воспроизводимые результаты каждый раз. отлично сказано! - person Blindy; 22.08.2010
comment
+1 Всегда будет важно всегда сопоставлять вашу проблему с наиболее подходящим инструментом, который у вас есть для ее решения. - person Adam; 02.07.2011
comment
Я думаю, что майнеры криптовалюты и программисты количественных приложений не согласились бы с последними несколькими абзацами, но большое спасибо за указание относительной силы процессоров! - person ; 23.12.2013

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

Изучение массивно-параллельных архитектур и векторной обработки по-прежнему будет полезно.

person Mark Ransom    schedule 20.10.2008
comment
Спасибо за ответ, он заставил меня по-другому задуматься о предмете. - person Liran Orevi; 09.06.2009

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

Вскоре вы увидите новые процессоры от Intel и AMD, которые включают векторные вычисления с плавающей запятой в стиле GPU, а также стандартные вычисления ЦП.

person temp2290    schedule 27.02.2009
comment
Спасибо! Правильно ли я понимаю, что специализация ЦП — это сериализованные инструкции, а специализация графического процессора — параллельная? Можете ли вы привести пример из реальной жизни? Огромное спасибо заранее! - person ; 23.12.2013

Я думаю, это правильный путь.

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

Так что давай, сделай это. Это послужит интересным исследованием, а также законной причиной для покупки этой высококачественной графической карты, чтобы вы могли играть в Crysis и Assassin's Creed с полной графической детализацией ;)

person Jon Limjap    schedule 26.08.2008

Это одна из тех вещей, для которых вы видите 1 или 2 приложения, но достаточно скоро кто-то придумает «убойное приложение», которое выясняет, как делать с ним что-то более полезное на сверхвысоких скоростях.

Пиксельные шейдеры для применения подпрограмм к большим массивам значений с плавающей запятой, может быть, мы увидим какие-нибудь приложения для покрытия ГИС или ну, я не знаю. Если вы не посвящаете этому больше времени, чем я, тогда у вас будет такой же уровень понимания, как у меня, т.е. немного!

У меня есть ощущение, что это может быть действительно большой вещью, как Intel и S3, может быть, нужно просто добавить 1 небольшую настройку к оборудованию или кому-то с лампочкой над головой.

person gbjbaanb    schedule 20.10.2008

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

Apple недавно анонсировала OpenCL, который, как они утверждают, намного больше, чем CUDA, но при этом достаточно прост. Я не уверен, что именно с этим делать, но группа khronos (парни, работающие над стандартом OpenGL) работают над стандартом OpenCL и пытаются сделать его максимально совместимым с OpenGL. Это может привести к созданию технологии, которая лучше подходит для обычной разработки программного обеспечения.

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

person Morten Christiansen    schedule 02.09.2008
comment
Вы видели GPU++, это исходит из тезиса, похожего на то, с чего вы собираетесь начать. Может дать вам толчок. - person gbjbaanb; 21.10.2008

Давным-давно было действительно трудно выполнять вычисления с плавающей запятой (тысячи/миллионы циклов эмуляции на инструкцию на ужасно производительных (по сегодняшним меркам) процессорах, таких как 80386). Люди, которым требовалась производительность с плавающей запятой, могли получить FPU (например, 80387). Старые FPU были довольно тесно интегрированы в работу ЦП, но они были внешними. Позже они стали интегрированными, а 80486 имел встроенный FPU.

Прежний FPU аналогичен вычислениям на GPU. Мы уже можем получить это с APU AMD. APU — это центральный процессор со встроенным в него графическим процессором.

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

person doug65536    schedule 14.12.2012