cuda经纱尺寸和控制发散
我对以下问题有疑问: 假设我们有一张9*7的图片(x方向7个像素,y方向9个像素),假设每个扭曲块有4*4个线程和8个线程,那么有多少扭曲具有控制散度 在这里如何组织块和扭曲? 对于x或水平方向,我可以假设每行2个块。类似地, 对于垂直方向,每列3个块。 但是,这些扭曲将如何组织?有人能指出翘曲的线程ID,以及发生控制分歧的情况(这些情况的线程ID等) 谢谢 假设我们有一张9*7的图片(x方向7个像素,y方向9个像素),假设每个扭曲块有4*4个线程和8个线程,那么有多少扭曲具有控制散度cuda经纱尺寸和控制发散,cuda,gpu-warp,Cuda,Gpu Warp,我对以下问题有疑问: 假设我们有一张9*7的图片(x方向7个像素,y方向9个像素),假设每个扭曲块有4*4个线程和8个线程,那么有多少扭曲具有控制散度 在这里如何组织块和扭曲? 对于x或水平方向,我可以假设每行2个块。类似地, 对于垂直方向,每列3个块。 但是,这些扭曲将如何组织?有人能指出翘曲的线程ID,以及发生控制分歧的情况(这些情况的线程ID等) 谢谢 假设我们有一张9*7的图片(x方向7个像素,y方向9个像素),假设每个扭曲块有4*4个线程和8个线程,那么有多少扭曲具有控制散度 散度是程
Image Global Thread IDs Block IDs Local Thread IDs
□□□□□□□ | 00 01 02 03 04 05 06 | 00 00 00 00 00 00 00 | 00 01 02 03 04 05 06
□□□□□□□ | 07 08 09 10 11 12 13 | 00 00 00 00 00 00 00 | 07 08 09 10 11 12 13
□□□□□□□ | 14 15 16 17 18 19 20 | 00 00 01 01 01 01 01 | 14 15 00 01 02 03 04
□□□□□□□ | 21 22 23 24 25 26 27 | 01 01 01 01 01 01 01 | 05 06 07 08 09 10 11
□□□□□□□ | 28 29 30 31 32 33 34 | 01 01 01 01 02 02 02 | 12 13 14 15 00 01 02
□□□□□□□ | 35 36 37 38 39 40 41 | 02 02 02 02 02 02 02 | 03 04 05 06 07 08 09
□□□□□□□ | 42 43 44 45 46 47 48 | 02 02 02 02 02 02 03 | 10 11 12 13 14 15 00
□□□□□□□ | 49 50 51 52 53 54 55 | 03 03 03 03 03 03 03 | 01 02 03 04 05 06 07
□□□□□□□ | 56 57 58 59 60 61 62 | 03 03 03 03 03 03 03 | 08 09 10 11 12 13 14
----------------------------------------------------------------------------
Image Global Warp IDs Block IDs Local Warp IDs
□□□□□□□ | 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00
□□□□□□□ | 00 01 01 01 01 01 01 | 00 00 00 00 00 00 00 | 00 01 01 01 01 01 01
□□□□□□□ | 01 01 02 02 02 02 02 | 00 00 01 01 01 01 01 | 01 01 00 00 00 00 00
□□□□□□□ | 02 02 02 03 03 03 03 | 01 01 01 01 01 01 01 | 00 00 00 01 01 01 01
□□□□□□□ | 03 03 03 03 04 04 04 | 01 01 01 01 02 02 02 | 01 01 01 01 00 00 00
□□□□□□□ | 04 04 04 04 04 05 05 | 02 02 02 02 02 02 02 | 00 00 00 00 00 01 01
□□□□□□□ | 05 05 05 05 05 05 06 | 02 02 02 02 02 02 03 | 01 01 01 01 01 01 00
□□□□□□□ | 06 06 06 06 06 06 06 | 03 03 03 03 03 03 03 | 00 00 00 00 00 00 00
□□□□□□□ | 07 07 07 07 07 07 07 | 03 03 03 03 03 03 03 | 01 01 01 01 01 01 01
----------------------------------------------------------------------------
以及发生控制分歧的情况(线程ID等)
如上所述,散度是代码的属性,而不是线程布局,没有代码就无法回答这个问题。首先。非常感谢你的图表。(我无法投票,因为我使用了线性表示法,因为它比(x,y)更容易表示,也更容易看到它们被分配到哪个扭曲。但这是一个双射:任何线性索引
I
都可以表示为(x,y)
,反之亦然,使用I=x+y*xDim
和(x=I%xDim,y=I/xDim)
。因此,对于线程4-6,它们的坐标是块0内的(1,0)和(1,2)(因为没有指定网格尺寸,所以块0没有坐标)。这个问题的整个前提是有缺陷的。cuda中的扭曲大小始终是32。