是否可以同时运行属于不同应用程序的两个内核?

时间:2013-02-15 10:31:52

标签: cuda gpu gpgpu nvidia

我想同时运行属于两个不同CUDA程序的两个内核。我不希望上下文切换发生。我希望两个程序共享设备。我的GPU中有14个SM,一个程序使用2个SM,另一个使用1个SM。但我无法同时运行它们。第二个程序等待,直到第一个程序完成执行。 GPU设备是nVidia Tesla M2050。使用deviceQuery,它表示该卡支持并发内核执行(这是属于一个程序/进程/上下文的内核吗?)。此外,设备处于默认计算模式。它未设置为任何独占模式。 有什么方法可以同时运行它们吗?

2 个答案:

答案 0 :(得分:2)

首先看看https://stackoverflow.com/a/14896945/56875。  GPU无法在两个cuda上下文的并行内核中执行。

我之前没有尝试过,但是在linux上你可以尝试使用CUDA-proxy作弊,这是一个创建单个上下文但允许其他cuda进程使用代理上下文的进程。

答案 1 :(得分:1)

正如@talonmies在评论中所说 - 目前这不可行。任何时候,给定设备上只能有一个CUDA上下文。