【发布时间】:2014-02-05 12:24:16
【问题描述】:
是否可以编写一个 CUDA 内核来显示一个 warp 中有多少线程,而不使用任何与 warp 相关的 CUDA 设备函数并且不使用基准测试?如果有,怎么做?
【问题讨论】:
-
使用极其私密的寄存器要求内核进行测试。所以占用最少,只有一个(可能是两个?)扭曲可能适合计算设备?然后检查它是否针对不同的本地工作组大小崩溃/编译。当它工作得最快时,局部尺寸将是扭曲尺寸?本地大小太低是“浪费核心/缓存”,本地大小太高是“寄存器溢出”。翘曲尺寸应该是一个很好的性能点。
-
是否允许在确定中使用原子?
-
基于基准测试的解决方案并不是我真正想要的,所以我修改了这个问题。我有兴趣在内核结果中找到扭曲大小的表现形式。
-
@RobertCrovella:是的,使用原子的解决方案会很有趣。
-
对于这个问题的目的,一个恒定大小的连续线程范围执行给定指令的演示是否足以证明这个问题?
标签: cuda