[英]branch divergence in cuda
我希望更改此代码以防止太多分支分歧
if (v == u) {
++c;
++u_t;
++v_t;
}
else if (v < u){
++u_t;
}
else {
++v_t;
}
这是我尝试过的:
u_t++;
if(v == u){
++c;
++v_t;
}
else{
--u_t;
++v_t
}
尽管这段代码给了我整个程序错误的答案。 我在这里错过明显的东西吗?
这一切都归结为
if (v == u) ++c;
if (v <= u) ++u_t;
if (v >= u) ++v_t;
您可以优化吗? 不确定您是否可以不了解其余代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.