块中的哪些线程形成扭曲?

时间:2013-02-12 16:40:25

标签: cuda gpu

在二维或三维CUDA块中,如何将线程分组为经线?我的假设是它们首先用x迭代,然后是y,然后是z。例如,在<z,y,x>的帖子中,<0,0,[0-31]>是一个扭曲,<0,1,[0-31]>等等,这是正确的吗?

1 个答案:

答案 0 :(得分:5)

是的,这是正确的。在创建warp(一起执行的32个线程的组)时,线程首先按X,然后是Y,然后是Z(线程坐标)。这对良好的合并有影响:您将需要在矩阵下标中安排线程坐标的使用,以便经线相邻的线程(通常在X坐标中)将访问矩阵中的相邻元素(通过使用threadIdx.x或衍生物)我们通常需要data[z][y][x],而不是data[x][y][z]

相关问题