(转)threadIdx,blockIdx, blockDim, gridDim之间的区别与联系

   前期写代码的时候都会困惑这个实际的threadIdx(TID,实际的线程ID)到底是多少,自己写出来的对不对,今天经过自己一些小例子的推敲,以及找到官网的相关介绍,总算自己弄清楚了。

      在启动内核的时候,要通过指定gridsize和块大小才行,举下面的例子说说:

     dim3 gridsize(2,2);

     dim3 blocksize(4,4);

     gridsize相当于是一个2×2的块,gridDim.x,gridDim.y,gridDim.z相当于这个为dim3的X,Y,Z方向的维度,这里是2 * 2 * 1。序号从0到3,且是从上到下的顺序,就是说是下面的情况:

     grid中的blockidx序号标注情况为:0 2 

                                                                        1 3

    块大小则是指里面的螺纹的情况,blockDim.x,blockDim.y,blockDim.z相当于这个为dim3的X,Y,Z方向的维度,这里是4 * 4 * 1。序号是0-15,也是从上到下的标注:

    block中的threadidx序号标注情况:0 4 8 12 

                                                                      1 5 9 13

                                                                      2 6 10 14

                                                                      3 7 11 15

  应该这样子就一目了然了,然后求实际的TID的时候:

最后还发现了一个2D * 2D表示threadid的二维位置的标示图,适用于将每个threadid跟矩阵中的二维元素进行一一对应。



原文:HTTPS://blog.csdn.net/qq_34488063/article/details/52162454 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值