【发布时间】:2013-11-16 13:47:27
【问题描述】:
我正在使用 TESLA T10 设备,它有 2 个 cuda 设备,一个块中的最大线程数为 512,每个维度的最大线程数为 (512,512,64),最大网格大小为 (65535,65535,1) 和每个 cuda 设备上有 30 个多处理器。
现在我想知道我可以并行运行多少个线程。我阅读了以前的解决方案,但没有一个能解决我的疑问。 从之前读取的 =(30)*512 个线程我可以并行运行(maxNoOfMultiprocessor * maxThreadBlockSize)
但是当我启动 32 块 512 线程时它仍然在工作 这怎么可能??? 我不了解每个维度中的这些最大线程以及最大网格大小部分 请举例说明....... 提前致谢
【问题讨论】:
-
也许最后两个超过限制的块进入全局同步区,所以前 30 个块首先完成,然后最后两个块在另一个执行队列中。也许吧。
-
这意味着我们可以启动任何线程块,每个块中的最大线程数为 512,因此首先运行 30*512 将执行然后下一个 30*512 等等
-
但是你不能确定之前执行的是哪个大块。