falahati/NvAPIWrapper

Absolute power reading (in Watts, not in percent of TDP) using NvAPI

adolfomantis opened this issue · 2 comments

Hi,

Is possible to read absolute power (in watts, not in percent of TDP) using NvAPI?. I know we can read total power in watts using NVML, but i need to read watts using NvAPI. I checked all (ones with public information) structures of NvAPI and i can not found it. NvAPI_GPU_ClientPowerTopologyGetStatus can provide Power Consumption (for board and GPU) but in % of TDP. In other hands, NvAPI_GPU_ClientPowerTopologyGetInfo (i don´t know used structure meaning) seems not provide usefull info.

Or is possible to read GPU´s TDP using NvAPI?.

Thanks in advance. Greetings

Not that I know of, unfortunately. You see, the majority of these types of methods are private and should be reverse-engineered from 3rd party applications. NvAPI_GPU_ClientPowerTopologyGetInfo is the only method that its name is somehow related and yet to be reverse-engineered by someone. But I quickly checked it for you and it doesn't return anything remotely meaningful.

NVML, however, seem to have this information publicly via the nvmlDeviceGetPowerUsage() method.

I believe NVML is a static library so you might need to write a couple of lines of C++ tho.

Thank you for your soon answer. Yes, I checked for NvAPI_GPU_ClientPowerTopologyGetInfo and responses are 0,1,0,0 and a flags? register. May be its necessary to initialize some fields first (who knows..?). Yes, with NVML dll and nvmlDeviceGetPowerUsage command I can obtain absolute power readings correctly (finally I´m using that method). Thanks. Take care.