请教warp的划分规则

书上讲的比较笼统,说连续32个线程划分成一个warp,但是具体怎么划分,没讲
比如,我有个块,线程维度是(40,40,10),会划分成几个warp?哪些线程分成一个warp?

楼主您好,

您举例的块大小(40,40,10)超过了目前所有计算能力硬件的可能(您给出了一个16000线程数目的block, 而目前的即使是计算能力3.5的,一个block也只能有1024个线程)。

请您修正您的问题后,再重新来提问。

感谢您的周末来访。

[

谢谢回复,例子是随便举得,没留心限制

比如(40,10,2),会怎么划分?具体规则在哪个资料里,

楼主您好:

组合原则是先x方向,再y方向,再z方向,每32个线程组合成一个warp.

如果剩余线程不足32个,则不会跨block组合,而是形成一个只有部分线程数目的warp(该warp里有一些无效线程,不参与执行)

感谢您的周末来访。

也就是说,按先x,再y,再z的方法,把3维坐标排序成1维坐标,然后每32个线程一个warp,不跨block。

非常感谢解答,请问这个知识点的出处在哪里,我想看看资料上说法,好标注参考文献

楼主您好,

出处您可以直接注明:cudazone.nvidia.cn/forum

感谢您的周末来访。

嗯 看了斑竹的回答,我也学到了些知识。