我能否在主机进程之间共享CUDA GPU设备内存?

4

是否可以有两个或多个Linux主机进程可以访问相同的设备内存?我有两个进程之间以高数据速率进行流处理,并且不希望将数据从GPU中的进程A传回主机,然后再传递到memcpy h2d到GPU中的进程B。

将多个进程合并为单个进程不是选项。

1个回答

3

根据我的理解,CUDA API无法完成此操作。设备指针是相对于特定的CUDA上下文环境的,而且没有办法在进程之间共享这些指针。


此外,CUDA上下文被限制在各个线程之间。因此,甚至不能在CPU线程之间共享GPU数据。这是我所知道的。 - Anycorn
不是我所期望的答案,但仍然是答案。 - Mark Borgerding
@BrianTheLion,那篇论坛帖子是关于共享主机内存,而不是设备内存。 - Mark Borgerding
根据 https://stackoverflow.com/questions/19819216/interprocess-communication-cuda/19821387#19821387 看起来答案可能在最近几年有所改变。 - Mark Borgerding

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接