多个进程可以共享一个CUDA上下文吗?

时间:2019-11-07 11:00:29

标签: cuda multiprocessing gpu

这个问题是Jason R对comment的Robert Crovellas的回答this original question的跟进(“一个设备有多个CUDA上下文-任何意义?”):

  

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

罗伯特·克罗维拉(Robert Crovella)建议在一个新问题中提出这个问题,但是它从来没有被搁置过,所以让我在这里这样做。

1 个答案:

答案 0 :(得分:1)

Multi-Process Service是Nvidia的替代CUDA实现,它使多个进程使用相同的上下文。例如如果每个进程本身不能完全填满整个GPU,则允许它们并行运行。