CUDA:3D网格中的全局唯一线程索引

dpa*_*kar 2 cuda

正如问题所述,如果我有一个3D Grid of Blocks,那么为一个线程获取全局唯一索引的公式是什么?

让我们将块本身保持为一维.

djm*_*jmj 6

// unique block index inside a 3D block grid
const unsigned long long int blockId = blockIdx.x //1D
        + blockIdx.y * gridDim.x //2D
        + gridDim.x * gridDim.y * blockIdx.z; //3D

// global unique thread index, block dimension uses only x-coordinate
const unsigned long long int threadId = blockId * blockDim.x + threadIdx.x;
Run Code Online (Sandbox Code Playgroud)