您的位置:首页 > 其它

CUDA二维网格模型下线程索引的计算

2015-11-23 16:58 337 查看

用于线程索引计算的CUDA运行时库提供的变量

gridDim.x —— 线程网格X维度上线程块的数量

gridDim.y —— 线程网格Y维度上线程块的数量

blockDim.x —— 一个线程块X维度上的线程数量

blockDim.y —— 一个线程块Y维度上的线程数量

threadIdx.x —— 线程块X维度上的线程索引

threadIdx.y —— 线程块Y维度上的线程索引

二维线程网格模型下计算当前线程索引:

idx = (blockIdx.x * blockDim.x) + threadIdx.x;

idy = (blockIdx.y * blockDim.y) + threadIdx.y;

threadIdx = idx + idy * blockDim.x * gridDim.x;

解释:

idx 得到的是当前线程在整个线程网格中X维度的索引

idy 得到的是当前线程下整个线程网格中Y维度的索引

blockDim.x * gridDim.x计算得到线程网格中一行(x维度)的线程数量

idy*blockDim.x * gridDim.x计算得到线程网格中idy行(x维度)的总的线程数量

threadIdx为得到的当前线程的索引
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: