ArrayfunがGPUのforループよりもはるかに高速である理由を誰かに教えてもらえますか?(CPUではなく、実際にはForループの方がCPUで高速です)
Arrayfun:
x = parallel.gpu.GPUArray(rand(512,512,64));
count = arrayfun(@(x) x^2, x);
そして同等のForループ:
for i=1:size(x,1)*size(x,2)*size(x,3)
z(i)=x(i).^2;
end
ForループがGPUでマルチスレッド化されていないことが原因でしょうか?ありがとう。