cuda - gpu 上的最大线程数

标签 cuda gpu tesla

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

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

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

最佳答案

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

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

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

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

关于cuda - gpu 上的最大线程数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20019186/

相关文章:

tensorflow - 如何安装 libcusolver.so.11

image-processing - GPU编程新手: what to learn?

linux - nvidia-smi 是否提供瞬时信息或时间间隔的平均值?

Java GPU 编程

cuda - 禁用 Tesla C2070 和 Ubuntu 12.04 的 ECC 支持

multithreading - nvidia Tesla 上的线程总数

windows - 如何在 NVIDIA P100 上启用 WDDM?

c - OpenCV 2.4.4 和 GPU 支持人脸检测

cuda - @cuda.jit 和 @jit(target ='gpu') 的区别

cuda - 在 GPU 上动态分配内存