MATLAB Answers

Does copying from gpu to host generally take longer than copying from host to gpu?

1 view (last 30 days)
Adam
Adam on 16 May 2013
Hi,
I am using the parallel computing toolbox, and it seems like copying data to a gpu using gpuArray() generally takes much longer than copying data back to the host using gather(). For example, if I try:
A = rand(500,500, 50);
tic,
B=gpuArray(A);
toc,
tic,
gather(B);
toc,
Then the gather() takes about 0.055 seconds while the gpuArray() takes only 0.018 seconds. Is this behavior expected? Am I using the wrong method to time this?
Thanks.

  0 Comments

Sign in to comment.

Accepted Answer

Jill Reese
Jill Reese on 16 May 2013
I think you have arrived at the same conclusion as this blog post on GPU performance. It provides a lot of detail on how to properly benchmark GPU operations in MATLAB.

  1 Comment

Adam
Adam on 16 May 2013
Thanks for the tip! That blog is very helpful. Does anyone have any idea why the gpu to host copy should be so much slower?

Sign in to comment.

More Answers (0)

Sign in to answer this question.