关于每个块的线程的CUDA性能

时间:2012-07-20 16:17:23

标签: cuda

我正在尝试CUDA的兴趣。在其中一个实验中,我有一个小内核,它只能循环运行1000万次。我发送1个块,然后从1-1024增加每个块的线程数。然后我绘制了执行,看它是如何变化的。结果是每块大约350个螺纹急剧上升,然后逐渐急剧上升。每块1024个线程的执行时间变为2x,表示至少有一个线程被阻塞。实际图表就像一个增加的阶梯。我想要了解的是为什么以及这些上升所依赖的数量。我试图了解SM,cuda核心等的数量。

我使用GeForce 560 Ti和8SM,每个SM 48个核心,每个SM 2个warp调度程序。

1 个答案:

答案 0 :(得分:2)

每个块350个线程锐化上升的一个可能原因是块消耗了太多资源,因此SM一次不能处理多个块。您可以使用CUDA占用计算器查看一个SM根据内核的资源使用情况一次处理多少个块。