基于WARP ID的分支

时间:2015-07-23 17:58:38

标签: cuda gpu-warp

有没有办法在CUDA中找到线程的WARP id? 我想基于WARP id执行分支。

1 个答案:

答案 0 :(得分:3)

%warpid寄存器,编写一个通过内联汇编访问它的函数并不困难。

但是,你想要使用它是非常不寻常的; e.g。

  • 线程不要"留下来"并将改变他们随着时间的推移运行的经线
  • 它不是全球唯一标识符

这使其可能的用例非常有限。引用文档:

  

... warp标识符在CTA中提供唯一的warp编号,但不在网格中的CTA之间提供。 ...

     

请注意%warpid是易失性的,并在读取时返回线程的位置,但其值可能在执行期间发生变化,... %warpid主要用于启用性能分析和诊断代码抽样和记录工作场所映射和负载分配等信息。