Profiling Range using NV Assembly Shaders

One of the apps I occasionally maintain and extend makes extensive use of Nvidia Assembly Shaders (e.g. NV_gpu_program4).

If I capture a frame of this application in the Frame Debugger, and I run the Range Profiler on a range which makes use of these NVidia Assembly Shaders in draw calls, should the profiling results be reasonable?

…unofficially, of course (I realize that Nsight Graphics only officially supports OpenGL core / GLSL. But I expect that Nsight Graphics is using a lower-level shader rep like NV ASM or lower to count registers, estimate occupancy, etc.)

Doing a few tests with the Range Profiler on this app, it does seem to generate believable profiling results in the Range Profiler View dialog (Top SOL %s, SM usage stats, etc.) But before I put any stock in them, I’d like to be sure.


My setup here:

  • GPU: GTX 1080Ti
  • NV Driver: 430.86
  • Nsight Graphics: v2019.3.0.0 (Build 26379168)
  • OS: Win 7 SP1

Any feedback on this?


Yes, the Range Profiler will work just fine with NV_gpu_program4. Those measurements are done at the pipeline level where we are running our internal “microcode” on the GPU. Various compilers take the higher level assembly and GLSL files and create what is run on the GPU.


That’s great to hear! Thanks for checking on that, Jeff.