CUDA的执行配置与内建变量

刚写的函数和变量的限定符csdn既然没有给我保存,郁闷~~

 

接着看 执行配置

在调用一个__global__函数的时候需要指定执行配置:<<< Dg, Db, Ns, S >>>

Dg:grid的大小和维度,为dim3类型。Dg.x * Dg.y是grid的大小。

Db:block的维度和大小,为dim3类型。Db.x * Db.y * Db.z 是Block的大小。

Ns:size_t类型的,为一个函数的动态shared内存。

 

内建变量:

gridDim:dim3类型的,包含grid的维度

blockIdx:uint3类型的,block在grid的位置

blockDim:dim3类型,包含block的维度

threadIdx:uint3类型的,Thread在block中的位置

warpSize:int类型,线程中的warp大小.?warp在CUDA中是什么概念呢?

 

?warp的概念:

今天在讨论过程中,向liuli师兄请教这个warp。听他讲后,我对warp是这样理解的:

warp是GPU的processor中线程并行的一个单位。在Nvidia中是16个线程为 一个warp。每次执行的时候,这16个线程同时平行执行。每个线程对于share内存的访问对应一个bank。

依然不明白block中不是允许有256个线程嘛,这256个线程难道不是平行运行吗?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值