2

这个问题是 Jason R对 Robert Crovellas 对这个原始问题(“一个设备的多个 CUDA 上下文 - 有什么意义?”)的回答的评论的后续行动:

当您说多个上下文不能同时运行时,这是否仅限于内核启动,还是也指内存传输?我一直在考虑在同一个 GPU 上进行多进程设计,该 GPU 使用 IPC API 在进程之间传输缓冲区。这是否意味着实际上,一次只有一个进程可以独占访问整个 GPU(而不仅仅是特定的 SM)?[...] 就调度而言,这如何与每个进程中的流上的异步排队内核/副本相互作用?

Robert Crovella 建议在一个新问题中提出这个问题,但它从来没有发生过,所以让我在这里做这个。

4

1 回答 1

2

多进程服务是 Nvidia 的另一种 CUDA 实现,它使多个进程使用相同的上下文。这例如允许来自多个进程的内核并行运行,如果它们中的每一个都不能自己填充整个 GPU。

于 2019-11-07T11:13:47.443 回答