我想加速我的算法,因为我需要在数百个图像上运行它,所以我试图使用未矢量化的GPU代码,在GPU上运行相同的代码,我有nvidia Geforce在我的PC上装有2 GB的GT 650M,但是它比CPU版本要慢。搜索后,我确信使用批处理过程(pagefun,bsxfun)传递给矢量化的GPU代码,我试图解决这个问题而没有解决方案。有人可以帮我关于这个代码:GPU上的图像处理算法,并行处理Matlab
Q=100;
for i=3:n-2
for j=3:m-2
A(i,j)=0;
for c=1:Q
if B(i,j,c)~=0
A(i,j)=A(i,j)+(-(B(i,j,c)).*log(B(i,j,c)));
end
end
end
end
另一个问题为什么Matlab只使用我的CPU的20%?我如何利用我的CPU来加速我的处理
Matlab是单线程应用程序吗?
在此先感谢
不要gpuArray仍然需要并行计算工具箱? – zhqiat
是的,并行工具箱是gpuArray所需的 –
非常感谢Airidas Korolkovas,但是我的执行时间没有得到很大的改善,pagefun的使用可以改善时间吗?我有平行的工具箱。 nvidea GT 650M – MAGNETAR