我想同时运行属于两个不同 CUDA 程序的两个内核。我不希望发生上下文切换。我希望这两个程序共享设备。我的 GPU 中有 14 个 SM,一个程序使用 2 个 SM,另一个程序使用 1 个 SM。但我无法同时运行它们。第二个程序一直等到第一个程序完成执行。GPU 设备是 nVidia Tesla M2050。使用 deviceQuery 时,它表示该卡支持并发内核执行(这适用于属于一个程序/进程/上下文的内核吗?)。此外,设备处于默认计算模式。它没有设置为任何独占模式。有什么办法可以同时运行它们吗?
问问题
1534 次
2 回答
2
首先看一下https://stackoverflow.com/a/14896945/56875。GPU 无法在两个 cuda 上下文的并行内核中执行。
我以前没有尝试过,但是在 linux 上你可以尝试使用CUDA-proxy作弊,这是一个创建单个上下文但允许其他 cuda 进程使用代理上下文的单个进程。
于 2013-02-16T07:40:04.607 回答
1
正如@talonmies 在评论中所说 - 目前这是不可能的。任何时候都只能在给定设备上存在一个 CUDA 上下文。
于 2013-02-15T18:01:51.773 回答