"Launching the workload is taking more time than expected" - why?

I’m profiling a certain kernel using NSight Compute. The profiling is taking quite some time, and at some point I get the message:

==WARNING== Launching the workload is taking more time than expected

and a suggestion to run the profiler with range replay rather than single kernel replay. Now, my question is not about how to avoid/overcome this per se, but rather what are the causes for this occurring. That is:

  • What exactly does NSight Compute “expect”?
  • How does NSight Compute set the “expectation”? What does it base it on?
  • Why would a plain-vanilla kernel - with nothing “extraordinary” in terms of instructions used etc. - go outside the range of these “expectations”?
  • Can this have something to do with the kernel being JIT-compiled rather having been compiled apriori?

I should note I sometimes get this even when using an ‘application’ which is merely a test harness and just builds and runs that kernel on inputs loaded from a binary file - without any other activity (gpu-kernel-runner).