Просто прочитайте немного о том, что преимущество GPU, и я хочу проверить, насколько я понимаю на практическом уровне. Допустим, у меня есть 10 000 массивов, каждая из которых содержит миллиард простых уравнений для запуска. На процессоре нужно будет проходить через каждое уравнение, по одному за раз, но с графическим процессором я мог бы запускать все 10 000 массивов, как 10 000 различных потоков, в то же время, так что он завершил бы тонну быстрее ... Является ли этот пример пятном или я что-то не понял?Пример: Я правильно понимаю преимущество GPU?
ответ
Я бы не назвал это пятно, но я думаю, что вы направляетесь в правильном направлении. В основном, GPU оптимизирован для графических вычислений. Это, однако, не означает, что это все, на что оно способно.
Не зная, насколько подробно вы хотите, чтобы я зашел сюда, я могу сказать, что, по крайней мере, концепция параллельных операций имеет значение. Графический процессор очень хорош в выполнении многих задач одновременно за один раз (известный как работающий параллельно). Процессоры могут делать это тоже, но графический процессор специально оптимизирован для обработки гораздо большего числа конкретных вычислений с заданными данными.
Например, для рендеринга каждого пикселя на экране требуется вычисление, и GPU будет пытаться выполнять как можно больше из этих вычислений одновременно. Чем мощнее GPU, тем больше он может справиться сразу и ускорить его тактовую частоту. Конечным результатом является то, что графический процессор более высокого класса может запускать вашу ОС и игры с разрешением 4k, тогда как другие карты (или интегрированные графические элементы) могут обрабатывать только 1080p или меньше.
Есть еще много чего, но я решил, что вы не ищете безумно техническое объяснение.
Суть в том, что для выполнения одной задачи на одной части данных процессор будет работать быстрее. Один процессорный ядро, как правило, намного быстрее, чем одно ядро GPU. Тем не менее, они, как правило, имеют много ядер и для выполнения одной задачи на многих фрагментах данных (так что вам нужно запускать их один раз для каждого), обычно GPU будет быстрее. Но это ситуации, зависящие от данных, и поэтому каждая ситуация должна оцениваться на индивидуальной основе, чтобы определить, что использовать и как ее использовать.
Итак, я читаю ваш ответ, поскольку, учитывая пример примера примера, который я дал (он загружает все эти миллиарды отдельных уравнений и должен их запускать. Готово.) Да, если вы не сделали что-то действительно не так, или худший GPU когда-либо, вы должны иметь возможность запускать эту конкретную задачу на тонну быстрее на графическом процессоре, а затем на CPU. Ya? – user3134006
Ну, вы не дали точного примера. Вы сказали, что у вас есть 10 000 массивов уравнений (что это значит? Я не знаком ни с каким классом или структурой, которая буквально является уравнением.) Вы также сказали, что есть миллиарды каждого уравнения. Вы имели в виду сказать, что у вас есть 10 000 массивов с миллиардами номеров внутри, и вы хотите выполнить один и тот же расчет на всех из них? Полагаю, мой вопрос в том, что вам нужно быть более конкретным в отношении вашего варианта использования. Каковы данные, какие данные выводятся и какова операция, выполняемая над данными. Следовательно, управляемый данными. –
Чтобы уточнить это. Если у вас было 100 000 массивов, каждый из которых содержал 100 000 целых чисел, и вам нужно было взять каждый набор из 2 массивов и добавить каждый из их членов вместе, чтобы [1, 2, 3, 4] + [2, 3, 4, 5 ] = [3, 5, 7, 9], GPU мог бы выполнять эту задачу намного быстрее. –
Вы также можете использовать многопоточные программы для ЦП. Ответ требует подробного объяснения архитектуры, чтобы полностью объяснить, почему некоторые параллельные операции на графических процессорах значительно быстрее, чем процессоры. Я не совсем уверен, что цель/деталь требует этого вопроса? – yw3410
Итак, вы говорите точную базовую программу выше (она загружает все эти уравнения и запускает их. Готово.) Есть еще другие факторы, которые необходимо рассмотреть, прежде чем определять, будет ли компьютер или компьютер быстрее работать на компьютере? Что еще вам нужно знать? – user3134006