这样的wrap的理解是正确的么?

  1. cuda会把同一个block的线程id连续的32个线程放在同一个wrap里,例如0-31 32-63 … 但是cuda没有明确说它一定这么做。也就是说,cuda也许会打乱这个顺序把随机的线程放到一个wrap。
    2.如果一个block里面的线程数小于32,那么这个block里的线程一定放在同一个wrap里。
    3.如果一个block里面只有8个线程,那么也允许多个block在同一个wrap里
    谢谢各位了。

LZ您好:

1:错
2:对
3:错

回答完毕,祝您好运~

楼主好气势,直接就下定义式的语句。

虽然如此,但我还是解释一下吧,避免楼主误人子弟:
(1)楼主阐述的“CUDA会打乱线程顺序组合warp"的观点是错误的。以及,您描述的"CUDA没阐明一定会按照顺序”的说法也是错误的,并且和手册是违背的。
实际上,手册明确指出,是按照block内的x/y/z分量顺序组合warp。
请以后不要下结论式的语句,特别是当您的结论是错误的时候。

(2)这个是对的。没什么说的。

(3)楼主您的“多个block"可以组合在一个warp里的结论是错误的,并且和手册违背的,手册明确指出,warp的组合是按block为单位的,如果一个block只有8个线程,那么多个block将组合成多个warps(虽然每个warp只有8个active threads,其他都是inactive的)。

建议楼主注意下态度。谢谢。

用肯定的语气是怕表述不清楚,因为这些事情手册虽然说了,但总觉得不清楚。现在清楚了,谢谢两位版主。

服务您是我们的荣幸,欢迎您的再次莅临。