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.