gpu 上的最大线程数

use*_*259 4 cuda gpu tesla

我正在使用 TESLA T10 设备,它有 2 个 cuda 设备,一个块中的最大线程数为 512,每个维度上的最大线程数为 (512,512,64),最大网格大小为 (65535,65535,1),它有 30每个 cuda 设备上的多处理器。

现在我想知道我可以并行运行多少个线程。我阅读了以前的解决方案,但没有一个解决了我的疑问。从以前的读取 =(30)*512 个线程我可以并行运行(maxNoOfMultiprocessor * maxThreadBlockSize)

但是当我启动 32 个 512 个线程块时,它仍然在工作,这怎么可能???我不了解每个维度中的这些最大线程数以及最大网格尺寸部分,请举例说明....... 在此先感谢

Rob*_*lla 5

出于本次讨论的目的,请忘记有多少多处理器。它与您可以在内核(即网格)中启动的块数无关。

您可以并行运行的线程数(即可以同时执行)不同于您可以启动的线程数或您可以启动的块数。

通常,您不希望启动只有机器在给定时间可以运行的线程数 (maxNoOfMultiprocessor * maxThreadBlockSize) 的网格。机器需要比这更多的线程,所以它可以隐藏延迟。

您的机器限制为每个块 512 个线程,但您可以启动最多 65535 个块的一维网格。这并不意味着所有这些块/线程同时运行,但机器最终会处理它们。