我想加速我的算法,因爲我需要在數百個圖像上運行它,所以我試圖使用未矢量化的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