i try to get gpu usage and memory usage in A30
naidia-smi
i use nvmlDeviceGetUtilizationRates in my program, it print
0 GPU Usage:65 Memory Usage:99
1 GPU Usage:78 Memory Usage:100
2 GPU Usage:77 Memory Usage:100
3 GPU Usage:65 Memory Usage:99
4 GPU Usage:100 Memory Usage:100
5 GPU Usage:82 Memory Usage:100
6 GPU Usage:85 Memory Usage:100
7 GPU Usage:100 Memory Usage:100
this is my code
#include
#include <string.h>
#include “nvml.h”
using namespace std;
int main(int argc, char* argv)
{
nvmlReturn_t result0;
unsigned int device_count;
result0 = nvmlInit();
result0 = nvmlDeviceGetCount(&device_count);
if (NVML_SUCCESS != result0)
{
cout << "Failed to query device count: " << nvmlErrorString(result0);
return -1;
}
for (int i=0; i<device_count; i++)
{
nvmlDevice_t device;
nvmlPciInfo_t pci;
result0 = nvmlDeviceGetHandleByIndex(i, &device);
if (NVML_SUCCESS != result0)
{
cout << "Failed to get device count: " << nvmlErrorString(result0);
return -1;
}
nvmlUtilization_t utilization;
result0 = nvmlDeviceGetUtilizationRates(device, &utilization);
if (NVML_SUCCESS != result0)
{
cout << "Failed to get utilization rates: " << nvmlErrorString(result0);
return -1;
}
cout << i << " GPU Usage:" << utilization.gpu << " Memory Usage:" << utilization.memory << endl;
}
return 0;
}
it works in Quadro M4000
Why is there such a situation?