GPU中的活动扭曲数(Fermi)

时间:2011-07-13 08:14:46

标签: cuda opencl gpu gpgpu

我对GPU中的主动扭曲有一个快速的问题(我更愿意在费米知道它)。 对于特定内核,SM中任何周期的活动warp数是否与内核的整个执行时间相同? 在我实验中,活动warp的总数(对于整个执行)与程序内核中的同步数之间存在某种相关性。任何人都可以澄清这种关系吗? 感谢

2 个答案:

答案 0 :(得分:3)

自从以下情况起,活动扭曲的数量会随时间变化:

  • 其他线程块可以在同一个SM上完成或开始,因此如果每个线程块有四个warp,那么如果SM上只有一个线程块,那么最多可以有四个warp,但是如果你有两个或三个线程块到八或十二分。
  • 如果warp到达代码的末尾,则它将不再执行代码(自然地)

整个程序执行的活动warp计数取决于许多因素,但请记住,它会增加每个周期的活动warp数。这意味着如果增加同步数,这也会增加每个warp执行内核所需的周期数,那么你会期望更高的有效warp数。

另请注意,探查器中的某些派生统计信息是近似值,因为它们通常使用来自多次运行的值,因此可能存在一些差异。

答案 1 :(得分:0)

本文解释了屏障同步和包装之间的关系, Demystifying GPU Microarchitecture through Microbenchmarking