Question

I have been using NVML library to get the values of graphics and memory utilization for Rodinia benchmark suite. I observe that with different frequencies, the utilization of the same application shows different values. From the wiki link http://en.wikipedia.org/wiki/CPU_usage it seems it does not take into account the various stalls like memory, branch etc. What exactly is this utilization measuring during a time interval? And how come its value is varying with variation in frequency.

Thanks

Was it helpful?

Solution

The definition of the utilization rates is given in the nvml documentation, p90:

8.12 nvmlUtilization_t Struct Reference
#include <nvml.h>
Data Fields
• unsigned int gpu
Percent of time over the past second during which one or more kernels was executing on the GPU.
• unsigned int memory
Percent of time over the past second during which global (device) memory was being read or written.

The utilization rates for a given workload will likely vary if you change the application clocks (I assume that is what you mean by frequency).

For example, if the GPU core clock runs faster, then the processing of the workload may be changed, and it may take less time to complete the workload.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top