-2

Recently nvidia released cuda 7.5, and announced that the interface should be able to be used on other Video cards, not just quadro and tesla. But as I tested on my GTX 970, the cudaDeviceGetStreamPriorityRange retuns -1 and 0. The compute capability of GTX 970 is 3.5, and it should support configurable stream priority as of cuda 6.0.

Mogsdad
  • 44,709
  • 21
  • 151
  • 275
Richardicy
  • 103
  • 1
  • 1
  • 4
  • Many thanks, Because I'm working on a subject that could support multiple kernel for the same time. The point is I want to schedule them in a priority queue. I want to make sure the one with the highest priority could always run first. But because I'm working on a work station that based on a PC, so I can't use a tesla instead. – Richardicy Oct 17 '15 at 15:19

1 Answers1

3

Is it possible to use cuda priority on GTX970?

Yes, it is possible, and the return values from the cuda runtime API function cudaDeviceGetStreamPriorityRange of 0 ("LOW PRIORITY") and -1 ("HIGH PRIORITY") are correct (<-- refer to slide 70, it has not changed for Maxwell GeForce). There are only 2 priority levels offered in this case. (That could change in the future, for future GPUs or CUDA versions. That is why the runtime API function is provided.)

You may also be interested in reading the relevant documentation or running or studying the relevant cuda StreamPriorities sample code.

Robert Crovella
  • 143,785
  • 11
  • 213
  • 257
  • Thanks,In fact I wish to launch multiple kernel. And I'm working on a PC station, I can't use tesla instead. If I still want to make GTX 970 to support priority with larger range(more than two), I guess I must use some trick, such as: launch a kernel, lock and wait until it finishes, then pull a kernel with the highest priority in my queue, launch it again. Is it possible to do so? I do hate it but my boss force me to figure out an idea. – Richardicy Oct 17 '15 at 15:37
  • Yes, you'll have to use "some trick". There are only 2 priority levels supported in this case. As you say, you could dispatch kernels by priority on the host, if that fits your application design. – Robert Crovella Oct 17 '15 at 15:42