movsum slower than conv2 in GPU

2 visualizaciones (últimos 30 días)
Mir Amid Hashemi
Mir Amid Hashemi el 14 de Oct. de 2019
Respondida: Joss Knight el 15 de Oct. de 2019
Hello,
I have this code that tests how both movsum and conv2 perform under GPU.
A=rand(1e4,1e4,'single','gpuArray');
n=10;f=ones(1,n,'single','gpuArray');
gputimeit(@() conv2(f,A))
gputimeit(@() movsum(A,n))
ans =
0.0051
ans =
0.0102
Turns out conv2 takes 5ms whereas movsum takes 10ms.
movsum should have a simpler algorithm than conv2, no?
Amid.

Respuestas (1)

Joss Knight
Joss Knight el 15 de Oct. de 2019
One might theorize, perhaps, that movsum literally uses the same kernels as conv2, but first has to construct the filter of ones which takes extra time. I'm not saying that's what happens, but it's a theory. By making more generic kernels, MATLAB saves space, which is important for download times and the MATLAB Compiler Runtime.

Categorías

Más información sobre GPU Computing en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by