CUDA 2D,3D线程块

use*_*593 2 cuda

根据http://en.wikipedia.org/wiki/CUDA,块的最大x或y维度1024块的最大z维度64

这是否意味着每个块可以有1024 x 1024 x 64个线程,或者块中最多可以有1024 + 64个线程?

tal*_*ies 5

限制在最近编程指南的附录G中定义,但答案是每个块总共 512或1024个线程,具体取决于您是否有费米或旧卡.

所以费米

blockDim.x * blockDim.y * blockDim.z <= 1024
Run Code Online (Sandbox Code Playgroud)

对于GT200/G90/G80/Ion:

blockDim.x * blockDim.y * blockDim.z <= 512
Run Code Online (Sandbox Code Playgroud)

请注意,其他资源限制(共享内存和寄存器)可能要求块大小小于限制,具体取决于代码复杂性.这也在编程指南中进行了一些讨论.