【发布时间】:2018-03-07 23:35:16
【问题描述】:
从官方的 NVIDIA 多进程服务器 docs 一瞥,我不清楚它如何与 CUDA 流交互。
这是一个例子:
App 0:向逻辑流 0 发布内核;
应用 1:向(它自己的)逻辑流 0 发布内核。
在这种情况下,
1) MPS 是否/如何“劫持”这些 CUDA 调用?它是否全面了解每个应用程序使用哪些流以及哪些流中包含哪些内核?
2) MPS 是否创建自己的 2 个流,并将各自的内核放入正确的流中?或者 MPS 是否有可能通过流以外的机制实现内核并发?
如果有帮助,我对 MPS 在 Volta 上的工作方式很感兴趣,但是关于旧架构的信息也很受欢迎。
【问题讨论】:
-
从程序员的角度来看,没有关系。它们是正交的。您不太可能获得关于 MPS 如何在后台工作的准确描述,因为该信息未在任何地方发布,并且可能会发生变化。无论如何,这些并没有真正让我觉得是编程问题。
-
感谢您的回复。可以说 NVIDIA 没有发布关于 (1) 和 (2) 的信息吗?
-
是的,这是我的观点。如果您愿意,我可以提供答案,但它会包含很多“未发布或未指定”
-
罗伯特,任何事情都会有所帮助。正如我们所说,我发现NVIDIA deck 中的第 21 张及以后的幻灯片确实暗示了使用多个流。
标签: cuda gpu nvidia cuda-streams