为什么要避免线程块太小?

  • 1 replies
  • 1181 views
为什么要避免线程块太小?
« 于: 二月 22, 2022, 09:25:30 pm »
小线程块:每个块中线程太少,会在所有资源被充分利用之前导致硬件达到每个SM的线程束数量的限制。
如何理解上面这句话?

Re: 为什么要避免线程块太小?
« 回复 #1 于: 三月 10, 2022, 01:25:21 pm »
小线程块:每个块中线程太少,会在所有资源被充分利用之前导致硬件达到每个SM的线程束数量的限制。
如何理解上面这句话?

你引用的话可能是想说,例如本论坛的LibAndLab妹子的8.6的卡,一个SM最多能上1536个线程(48个warps)不假,但是同时受到了最多能上16个blocks的限制,此时你如果使用了64个线程甚至32个线程每block的小规模block形状,则你可能在抵达这1536线程/48个warps的限制之前,就提前达到了16个blocks的限制,从而无法使用满这16个blocks。

你的原始文字的理解可能类似于这个,但是我读不懂。你应当询问原始作者(因为根据她的上下文,她应该说的是block数量,而不是warps数量)。