我是靠谱客的博主 瘦瘦火,最近开发中收集的这篇文章主要介绍threadIdx,blockIdx, blockDim, gridDim之间的区别与联系,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

https://blog.csdn.net/qq_34488063/article/details/52162454

  • 在启动kernel的时候,要通过指定gridsize和blocksize才行,举下面的例子说说:

    dim3 gridsize(2,2);
    dim3 blocksize(4,4);
    

    gridsize相当于有22个block,
    gridDim.x,gridDim.y,gridDim.z 相当于这个dim3的x,y,z方向的维度,
    这里是2
    2*1。序号从0到3,且是 从上到下 的顺序,就是说是下面的情况:
    grid中的blockidx序号标注情况为:

                0     2 
                1     3
    

    blocksize则是指里面的thread的情况,
    blockDim.x,blockDim.y,blockDim.z 相当于这个dim3的x,y,z方向的维度,
    这里是441.序号是0-15,也是从上到下的标注:
    block中的threadidx序号标注情况:

       0      4       8      12 
       1      5       9      13
       2      6       10     14
       3      7       11     15
    
    

在这里插入图片描述

一个2D * 2D 表示threadid的二维位置的标示图, 适用于将每个threadid跟矩阵中的二维元素进行一一对应:
在这里插入图片描述

在这里插入图片描述

最后

以上就是瘦瘦火为你收集整理的threadIdx,blockIdx, blockDim, gridDim之间的区别与联系的全部内容,希望文章能够帮你解决threadIdx,blockIdx, blockDim, gridDim之间的区别与联系所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部