CUDA线程调度

本文详细介绍了CUDA中GPU的内部结构,如SM(StreamingMultiprocessor)的工作原理,强调了SM内的并行处理能力和Block的调度策略。每个SM可以同时处理多个Block的线程,建议将Block数量设为SM的整数倍以提高设备利用率,从而实现CUDA程序的性能优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,一个GPU会有多个SM(Streaming MultiProcessor),SM之间是并行的;

 

2,一个SM可以同时处理多个Block的多个wrap,也就是说,同一时刻,一个SM内,不止只有一个wrap在执行;

参考:Programming Guide :: CUDA Toolkit Documentation

3,SM处理完一个Block后,才会处理下一个Block,也就是说例如SM可以同时处理3个Block,那么这3个Block的其中一个处理完后,才会处理第四个Block。

4,一个wrap的线程会分配到32个(假设一个wrap的线程数量是32)CUDA core,也叫stream processor(sp)里执行。

编程建议:将Block个数尽量设置为SM的整数倍,可以提高设备利用率。

参考:

CUDA性能优化----warp深度解析 - 爱码网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值