CUDA 计算线程索引的一般公式
Posted kangtian0
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CUDA 计算线程索引的一般公式相关的知识,希望对你有一定的参考价值。
CUDA thread index:
int blockId = blockIdx.z * (gridDim.x*gridDim.y)
+ blockIdx.y * gridDim.x
+ blockIdx.x;
int threadId = blockId * (blockDim.x * blockDim.y * blockDim.z)
+ threadIdx.z * (blockDim.x * blockDim.y)
+ threadIdx.y * blockDim.x
+ threadIdx.x;
从上到下分别是:
block的3,2,1维;
thread的3,2,1维。
如果没有对应维度,删除对应的计算部分即可。
维度的值最小是1,但是索引的值最小是0.
ps: 最少的情况是都只有1维,最多的情况是都有3维。
所以最简单的都只有1维时:blockIdx.x * blockDim.x + threadIdx.x
以上是关于CUDA 计算线程索引的一般公式的主要内容,如果未能解决你的问题,请参考以下文章