GPUOpen-LibrariesAndSDKs / display-library

AMD Display Library SDK
128 stars 45 forks source link

Clarification of ADLPMLogData #22

Open crowbar27 opened 2 years ago

crowbar27 commented 2 years ago

I am trying to obtain data on power consumption and could not find some information in the documentation on the fields of ADLPMLogData:

What unit is ulLastUpdated using? Are this milliseconds or something else like ticks from QueryPerformanceCounter?

What units are the values of ADL_PMLOG_ASIC_POWER, ADL_PMLOG_CPU_POWER, ADL_PMLOG_GFX_VOLTAGE, ADL_PMLOG_GFX_CURRENT, ADL_PMLOG_GFX_POWER, ADL_PMLOG_SOC_VOLTAGE, ADL_PMLOG_SOC_CURRENT, ADL_PMLOG_SOC_POWER? My assumption is that *_POWER is in Watts, because I got "17", which seems to be reasonable for an idle device. Unfortunately, I did not yet find a device reporting voltage and/or current.

And finally: when is ADLPMLogData written (for the first time)? There seems to be no synchronisation primitive to prevent partial reads. The sample seems to rely on the values being first written once ADL2_Adapter_PMLog_Start returns. Is this a safe assumption?

Thanks, Christoph

crowbar27 commented 2 years ago

After some testing, I assume that the timestamps are in 100 ns units, because they have a remarkable resemblance of the Windows SYSTEMTIME converted to FILETIME, which are "100-nanosecond intervals since January 1, 1601 (UTC)". Can anyone confirm that?