Разреженное матричное умножение на GPU или CPU? - PullRequest
3 голосов
/ 09 августа 2010

Что ты думаешь?Что было бы быстрее и насколько быстрее: Выполнение умножения разреженных матриц (CSR) (с вектором) на GPU или CPU (многопоточное)?

Ответы [ 3 ]

4 голосов
/ 11 января 2011

Это зависит от размера матрицы и количества итераций, которые необходимо выполнить. Это потому, что вам нужно скопировать матричные данные из памяти ЦП в память графического процессора и скопировать результаты обратно из графического процессора в ЦПУ. Если вы собираетесь выполнять только одну итерацию на матрице, всегда лучше делать это на процессоре, а не на графическом процессоре. Более того, GPU страдает от времени запуска. Итак, если вам нужно выполнить больше итераций, перейдите к графическому процессору, иначе я выберу процессор. Размер матрицы также влияет на производительность из-за копирования данных.

0 голосов
/ 04 августа 2011

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

0 голосов
/ 09 августа 2010

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

...