How to get GPU utilization directly based on sqlite profile data


I have currently profiled data using nsys (NVIDIA Nsight Systems version 2024.1.1.59-241133802077v0)
and created a qdrep file, and exported it as sqlite data.

What I want to do is “measuring the GPU utilization every 1ms”.

I know I can measure GPU utilization with (nvml-based) nvidia-smi,
but nvml can measure GPU utilization at least every 1/6s.

So, I’m trying to get calculate GPU utilization(in 1ms time interval) directly from sqlite data.

My questions are:

  1. is this possible?
  2. if possible, how is GPU utilization defined, and how can I query it from the sqlite file?

Thank you.

I’m wondering what you are actually trying to achieve here.

If you are trying to optimize a specific kernel or set of kernels, you should probably be using Nsight Compute, which will give you a deeper dive on things like SM utilization and warps.

If you are just looking for a graph of GPU utilization, check out the heatmaps available with multi-report analysis in the User Guide - User Guide — nsight-systems 2024.2 documentation (it’s a direct link to the sub-section, it just doesn’t look like it). You can do that analysis even with only one result.