1

Я пытаюсь понять относительные преимущества процессоров против графических процессоров.

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

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

Я прошу прощения, если этот вопрос может быть слишком широким, но у меня было только элементарное обучение электротехнике, и мне было интересно, было ли объяснение серебряной пули о том, почему ЦП предпочтительнее графического процессора для обычных задач, таких как те, которые описаны в связанном Q & A: «Предсказание ветвей, конвейеризация, суперскалер и т.д.»

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

2 ответа2

1

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

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

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

1

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .