GPU中的SM和warp的关系

介绍

我们在cpu上做好了准备工作,然后将指令发送给GPU, 在这里我们看到grid为10,block为128,也就说有10个block,每一block有128个thread,
在这里插入图片描述
如何分配这些block?
原则

  • 在GPU中一个block是不能拆分到两个SM中
  • 一个SM中的block要满足SM的条件限制
    在这里插入图片描述
    SM有哪些限制?
    简单有这些,当然还有其他的没有展示,这里数值都是我瞎编的,具体的可以去官网文档查看参数:
    在这里插入图片描述
    一个block需要哪些资源?
    一个SM能给的资源如上,那么一个block需要哪些资源呢?简单如下:
    在这里插入图片描述
    分配结果如下:
    可以看到还有4个block没地方搁,不用担心,中间的调度器会一直轮询所有SM的,只要有空闲的位置就会将还没安排的block安排上去。
    在这里插入图片描述
    block里面所有线程都是同时执行吗?
    在SM中,block继续分割为warp.一个warp为32个thread,共用一套指令,至于为啥是32,这和硬件有关系,比如人家卡里就32个cuda core,那可不是一次就只能执行1个warp(32个线程)。
    在这里插入图片描述
    warp如何执行?
    好了,到现在为止warp也切割好了,具体执行方式如下:
    在这里插入图片描述
    这个就不详细解释了,跟CPU调度类似,就是你io耽误了,其他的任务上,你IO结束了,你在继续占有计算资源。
  • 9
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值