经纱是否会使用不到一个完整的经纱保险箱?

时间:2016-02-26 10:17:14

标签: cuda gpgpu shuffle undefined-behavior

CUDA文档tells us如果原始线程是"非活动"则不会定义warp shuffle的结果。这是否意味着我们可以安全地使用部分线程进行洗牌,只需要关注来自非活动线程的垃圾数据?或者整个shuffle输出可能是垃圾?

1 个答案:

答案 0 :(得分:1)

  

如果目标线程处于非活动状态,则检索到的值未定义。

我的理解是返回到以非活动线程为目标的线程的值是未定义的。以活动线程为目标的线程表现正常。

因此,只要您的目标在分歧中遵循相同的路径,您就可以从分歧代码中的shuffle中获得正确的答案。