根据http://en.wikipedia.org/wiki/CUDA,块的最大x或y维度1024块的最大z维度64
这是否意味着每个块可以有1024 x 1024 x 64个线程,或者块中最多可以有1024 + 64个线程?
限制在最近编程指南的附录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)
请注意,其他资源限制(共享内存和寄存器)可能要求块大小小于限制,具体取决于代码复杂性.这也在编程指南中进行了一些讨论.