What are the semantics of CUDA kernel launch priorities?

55 Views Asked by At

Starting with CUDA 12.0, one can specify a wider variety of "launch attributes", when launching a kernel, using a CUlaunchConfig structure; and one of the attributes we can place in a launch config structure is a "launch priority".

Now, CUDA streams have had a scheduling priority for a long time; they are described in § 3.2.8.5.7 of the CUDA Programming Guide; and you can obtain the range of possible priorities with cuCtxGetStreamPriorityRange(). But what are kernel launch priorities? Are they an override of the stream's priority, when the kernel is the next task to schedule? Are they a modifier of the stream's priority? Something else?


See this related question regarding another mysterious field of the kernel launch config structure.

1

There are 1 best solutions below

1
Anis Ladram On

Are they an override of the stream's priority

Yes, it does override the stream priority. Launch-level attributes have precedence over stream-level attributes.