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).