Thank you a lot! This is piece of code from Overdrive_Sample.cpp (display-library/Overdrive_Sample.cpp at master · GPUOpen-LibrariesAndSDKs/display-library · GitHub )
...
ADLTemperature adlTemperature = {0};
adlTemperature.iSize = sizeof (ADLTemperature);
if (ADL_OK != ADL_Overdrive5_Temperature_Get ( adapterId, iThermalControllerIndex, &adlTemperature ))
{
printf("Failed to get thermal devices temperature\n");
return 0;
}
int temperatureInDegreesCelsius = adlTemperature.iTemperature / 1000; // The temperature is returned in millidegrees Celsius.
...
And for getting GPU load
...
//Getting real current values for clocks, performance levels, voltage effective in the system.
ADLPMActivity activity = {0};
activity.iSize = sizeof (ADLPMActivity);
if (ADL_OK != ADL_Overdrive5_CurrentActivity_Get (adapterId, &activity))
{
printf("Failed to get current GPU activity. \n");
return 0;
}
...
printf ("Current Engine Clock: %d persent\n", activity.iActivityPercent);
...