【CUDA】四、执行配置与内置变量

一、执行配置

执行配置是针对__global__函数的,并在其调用的地方指定。指明线程网格、线程块的尺寸,以及共享内存的大小和流。

形式为:<<<Dg, Db, Ns, S >>> 

      Dg、Db:分别表示线程网格的大小和线程块的大小,类型为dim3的结构体,有x、y、z三个成员变量,默认的构造函数会将其成员变量赋值为1,而int3则是只含有x、y、z三个成员变量的简单C结构体,不含任何成员函数,所以其初值未知的;

      Ns:size_t类型,指明共享内存的大小,可选项,默认0;

      S:cudaStream_t类型(实质为CUstream_st *),指明流,可选项,默认0;

例如:

      __global__ void fun();    //__global__函数形式

      fun<<<Dg,Db,Ns>>>();//调用形式

二、内置变量

主要有五个内置变量,它们只在执行在设备上的函数内有效

gridDim:线程网格的尺寸或大小,dim3类型的变量,其值为在指定执行配置时的第一个参数Dg;

blockIdx:线程块索引,指示线程网格中的某一块,为int3类型,各个分量的值最大值为对应gridDim分量值减1,因为索引是基于0开始的;

blockDim:每个线程块尺寸或大小,为dim3类型,其值为在指定执行配置时的第二个参数Db;

threadIdx:线程索引,为uint3类型,指示某一线程块中的某一个线程,各个分量的最大值为对应blockDim分量值减一,索引基于0开始;

warpSize:后续补充。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值