有人能说出为什么 Arrayfun 比 GPU 上的 for 循环快得多吗?(不在 CPU 上,实际上 For 循环在 CPU 上更快)
阵列乐趣:
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 上不是多线程的吗?谢谢。