Как оценить вычислительную мощность графического процессора по сравнению с центральным процессором?

Как оценить вычислительную мощность графического процессора по сравнению с центральным процессором?

Предположим, у меня есть программа, которая выполняет много вычислений с плавающей точкой и которая непрактично медленная на моем текущем оборудовании. Чтобы максимально сократить время выполнения, я хочу выяснить, лучше ли инвестировать в CPU или GPU, учитывая фиксированный бюджет (около $3000-4000 в моем случае). Я знаю, что для сравнения одного CPU с другим я могу получитьочень грубоощущение относительной скорости обработки путем умножения тактовой частоты на количество ядер для каждого ЦП и сравнения этих чисел. Но что насчет графических процессоров? Есть ли какой-то способ быстро вычислить число на основе спецификаций графического процессора, которое скажет мнегрубонасколько быстро я могу ожидать выполнения моей программы относительно известного процессора?

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

решение1

Ну, вы можете попробовать синтетические тесты. Они дадут вам некоторое представление. Например, набор инструментов NVIDIA'a CUDA содержит некоторые программы, которые запускаются как на CPU, так и на GPU, и его можно использовать для сравнения времени их выполнения на каждой платформе.

Если вам нужно сделать это только с использованием спецификаций GPU, вы можете сделать это тоже. Например,здесьЭто страница для моей GeForce 9500 GS. Вы можете найти информацию о количестве процессорных ядер там. Производительность процессора пропорциональна частоте GPU и количеству ядер. Некоторые карты дажеиметьЧисло GFLOPS тоже. Был документ с более однородными подробными описаниями, доступными для каждой карты, но я не могу найти способ получить его прямо сейчас. Может быть, он в загрузках CUDA toolkit?

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

Я не в курсе информации о видеокартах других производителей, но предполагаю, что есть способы получить данные, по крайней мере, для AMD и Intel.

Связанный контент