accessing data while working on gpu

1 次查看(过去 30 天)
Hi everyone
I am going to use a gpu to speed the fft2 command during an iteration which includes around 10,000,000 times calling fft2. Unfortunately, for each iteration, I need the fft2 output matrix to manipulate its elements. So, using gather command is an option. However, calling this command for each iteration devastates the performance of fft2 on gpu and the desired speed up cannot be reached.
It might sound stupid, but is there any other way to have access to the output at each iteration and reach to some extent such a high speed up? Is it possible to access the matrix element on the gpu and not back into the cpu?
Any answer is highly appreciated.
Mohammad
  3 个评论
José-Luis
José-Luis 2017-8-10
If running (and that includes getting back results) your operation takes longer on the GPU then it takes longer on the GPU. It's just the way things are.
Might be that the Mathworks has done a bad job of coding the routine you are interested in and then you could get better improvements (and get rid of overheads) by coding it yourself. Might need to learn CUDA or OpenCL for that.
Having said that. Are you really sure you need to get intermediate data back? Can't you aggregate (or whatever it is you are doing) on the GPU? What is your objective?
Joss Knight
Joss Knight 2017-8-10
编辑:Joss Knight 2017-8-10
Can you explain better what the problem is? You don't have to call gather to manipulate the elements of a gpuArray.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 GPU Computing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by