用户
 找回密码
 立即注册
grasshoper97 该用户已被删除
发表于 2013-11-3 12:24:32
68606
书上讲的比较笼统,说连续32个线程划分成一个warp,但是具体怎么划分,没讲
比如,我有个块,线程维度是(40,40,10),会划分成几个warp?哪些线程分成一个warp?
使用道具 举报 回复
发表于 2013-11-3 12:27:47
楼主您好,

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

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

感谢您的周末来访。
使用道具 举报 回复 支持 反对
发表于 2013-11-3 12:44:50
本帖最后由 grasshoper97 于 2013-11-3 12:48 编辑
玫瑰幻想 发表于 2013-11-3 12:27
楼主您好,

您举例的块大小(40,40,10)超过了目前所有计算能力硬件的可能(您给出了一个16000线程数目的blo ...


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

比如(40,10,2),会怎么划分?具体规则在哪个资料里,
使用道具 举报 回复 支持 反对
发表于 2013-11-3 12:49:56
grasshoper97 发表于 2013-11-3 12:44
谢谢回复,例子是随便举得,没留心限制

比如(40,10,2),会怎么划分?谢谢。 ...

楼主您好:

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

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

感谢您的周末来访。

使用道具 举报 回复 支持 反对
发表于 2013-11-3 13:01:54
也就是说,按先x,再y,再z的方法,把3维坐标排序成1维坐标,然后每32个线程一个warp,不跨block。

非常感谢解答,请问这个知识点的出处在哪里,我想看看资料上说法,好标注参考文献
使用道具 举报 回复 支持 反对
发表于 2013-11-3 13:15:30
grasshoper97 发表于 2013-11-3 13:01
也就是说,按先x,再y,再z的方法,把3维坐标排序成1维坐标,然后每32个线程一个warp,不跨block。

非常感 ...

楼主您好,

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

感谢您的周末来访。
使用道具 举报 回复 支持 反对
发表于 2013-11-3 18:55:10
嗯 看了斑竹的回答,我也学到了些知识。
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册