这个问题是 Jason R 的后续问题comment https://stackoverflow.com/questions/29964392/multiple-cuda-contexts-for-one-device-any-sense#comment66412175_29967604罗伯特·克罗维拉斯 (Robert Crovellas) 回答这个原始问题 https://stackoverflow.com/questions/29964392/multiple-cuda-contexts-for-one-device-any-sense(“一台设备的多个 CUDA 上下文 - 有什么意义吗?”):
当你说多个上下文不能同时运行时,是这样的吗
仅限于内核启动,还是指内存传输
还有?我一直在考虑在同一台上进行多进程设计
使用 IPC API 在进程之间传输缓冲区的 GPU。
这是否意味着实际上一次只有一个进程
对整个 GPU 的独占访问(不仅仅是特定的 SM)? [...]那怎么办
与每个流中的异步排队内核/副本相互作用
就调度而言,流程如何?
罗伯特·克罗维拉建议在一个新问题中提出这个问题,但它从未发生过,所以让我在这里这样做。
多进程服务 https://docs.nvidia.com/deploy/mps/是 Nvidia 的另一种 CUDA 实现,它使多个进程使用相同的上下文。这例如允许多个进程的内核并行运行,前提是每个进程本身不能填满整个 GPU。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)