【发布时间】:2012-02-21 17:17:28
【问题描述】:
我有以下matlab代码:
randarray = gpuArray(rand(N,1));
N = 1000;
tic
g=0;
for i=1:N
if randarray(i)>10
g=g+1;
end
end
toc
secondrandarray = rand(N,1);
g=0;
tic
for i=1:N
if secondrandarray(i)>10
g=g+1;
end
end
toc
Elapsed time is 0.221710 seconds.
Elapsed time is 0.000012 seconds.
1) 为什么 GPU 上的 if 子句这么慢?它正在减慢我所有的优化尝试
2) 我可以做些什么来绕过这个限制?
谢谢
【问题讨论】: