【发布时间】:2015-09-12 12:16:53
【问题描述】:
这是一个概念问题。在 CUDA 中,gridDim、blockDim 和 threadIdx 可以是 1D、2D 或 3D。我想知道,他们的 2D 和 3D 版本是如何解释的?
更详细一点,CUDA 是否将多维 gridDim、blockDim 和 threadIdx 视为一个线性序列,就像 C 存储多维数组一样?如果不是,我们应该如何解释多维gridDim、blockDim和threadIdx?
谢谢。
编辑 1. 这个问题不是重复的。我实际上遇到了提到的问题。它询问的是 GPU 线程的执行顺序,而不是它们的布局,就像这个一样。
编辑 2. 另外,这个问题的答案可以在http://docs.nvidia.com/cuda/cuda-c-programming-guide/#thread-hierarchy 找到。谢谢@talonmies,供参考。综上所述,多维 gridDim、blockDim 和 threadIdx 是为了方便。它们可以像列主有序多维数组一样解释。
【问题讨论】:
-
他们的 2D 和 3D 版本是什么意思??您能否进一步扩展您的问题?