ArrayFire af::where 时间消耗

问题描述

我有一个 af::array,我想为其找到非零位置 (2048*2048)。

af::timer start1 = af::timer::start();
af::array index = af::where(mat); // for the first time
cout << "elapsed time (ms): " << af::timer::stop(start1)*1000 <<" ms"<<endl;
start1 = af::timer::start();
index = af::where(mat); //for the second time
cout << "elapsed time (ms): " << af::timer::stop(start1)*1000 <<" ms"<<endl;

第一次迭代:

elapsed time (ms) : 1.8792 ms
elapsed time (ms) : 0.7094 ms

第二次迭代:

elapsed time (ms) : 16.8074 ms
elapsed time (ms) : 0.4738 ms

第三次迭代

elpased time (ms) : 17.3236 ms
elpased time (ms) : 0.4543 ms

为什么时间如此不一致?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)