2

I want to run two kernels belonging to two different CUDA programs concurrently. I don't want context switching to happen. I want both the programs to share the device. I have 14 SMs in my GPU and one program uses 2 SMs and another uses 1 SM. But I am not able to run them concurrently. The second program waits until the first one finishes its execution. The GPU device is nVidia Tesla M2050. With deviceQuery it says the card supports concurrent kernel execution (Is this for kernels belonging to one program/process/context?). Also, the device is in Default computing mode. It is not set to any exclusive mode. Is there any way I can run them concurrently?

4

2 に答える 2

2

最初にhttps://stackoverflow.com/a/14896945/56875を見てください。GPU は、2 つの cuda コンテキストから並列カーネルで実行できません。

以前に試したことはありませんが、Linux では、単一のコンテキストを作成する単一のプロセスであるCUDA-proxyを使用してチートを試みることができますが、他の cuda プロセスはプロキシのコンテキストを使用できます。

于 2013-02-16T07:40:04.607 に答える
1

@talonmiesがコメントで述べているように、これは現在不可能です。特定のデバイスに常に存在できるCUDAコンテキストは1つだけです。

于 2013-02-15T18:01:51.773 に答える