Image processing using gpu array

Hi all,
I am now trying to process the image using gpu array.
I made the code so that the gpu can be used, but I confirmed that matlab is running using CPU instead of using GPU on the computer.
The code to use gpu is as follows.
O = gather(video_ycbcr(gpuArray(video)))
O_cpu = {};
O_cpu{1} = O(:,:,001:149); % Can be easily extend to multiple GPU
O_gpu{1} = gpuArray(O_cpu{1}); % Move array from CPU to GPU for acceleration
R_gpu{1}=RainDetect(O_gpu{1},paras);
R_cpu{1}=gather(cat(3,R_gpu{1}{:}));
R = R_cpu{1};
What parts of this code need to be modified to use GPU properly on a computer?
Thank you.

3 个评论

RainDetect is not a Mathworks function and I do not find source for it anywhere. As outside observers we have no reason to expect that it will execute on GPU.
Oh Sorry. RainDetect function and video_ycbcr function code is as follows.
Are there any problems with using GPU for these functions?
function [R,iter]=RainDetect(O,paras)
[m,n,t] = size(O);
O = num2cell(O,[1 2]);
R{1} = gpuArray(zeros(m,n));
B{1} = O{1}-R{1};
iter{1} = 0;
[R{2},B{2},iter{2}]=RainDetect_i(O{2},B{1},paras);
for i = 3:t
disp(i);
[R{i},B{i},iter{i}]=RainDetect_i(O{i},B{i-1},paras);
end
%% ===============================================================
function [y] = video_ycbcr(video)
[m,n,~,num_frame] = size(video);
y = zeros(m,n,num_frame);
y = gpuArray(y);
for i = 1:num_frame
f_ycbcr = rgb2ycbcr(video(:,:,:,i));
y(:,:,i)=f_ycbcr(:,:,1);
end
end
O = num2cell(O,[1 2])
It is not obvious to me that produces a cell on the gpu or that the entries will be on the gpu. I do not understand why you convert to cell instead of just indexing the input?

请先登录,再进行评论。

回答(1 个)

Sai Bhargav Avula
Sai Bhargav Avula 2020-3-23

0 个投票

Hi,
The link attached below gives a better insight on how to use GPU for better performance.
Hope this helps!

类别

帮助中心File Exchange 中查找有关 GPU Computing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by