поэлементное умножение (times) на GPU не ускоряется !..?

Обсуждение вопросов связанных с параллельными и распределенными вычислениями

Модератор: Admin

ВиталийБН
Пользователь
Сообщения: 9
Зарегистрирован: Пт июл 14, 2017 1:54 pm

поэлементное умножение (times) на GPU не ускоряется !..?

Сообщение ВиталийБН » Ср июл 19, 2017 10:03 pm

Подскажите, почему при поэлементном умножении (times) я не получаю заметного ускорения на GPU ? вроде должно хорошо масштабироваться... но ускорение если и есть, то не больше 50%. Может есть способ распараллелить каким-то образом? bsxfun или arrayfun не дает вообще выигрыша. Заранее спасибо.

Код: Выделить всё

gpu=gpuDevice()

A=rand(1000000,1,'gpuArray');
B=rand(1000000,1,'gpuArray');

tic

C=bsxfun(@times,A,B);

wait(gpu)
toc
tic

C=A.*B;

wait(gpu)
toc

A=rand(1000000,1,'double');
B=rand(1000000,1,'double');

tic
C=A.*B;
toc



    Elapsed time is 0.003161 seconds.
    Elapsed time is 0.001781 seconds.
    Elapsed time is 0.003231 seconds.