Reading the memory (junction) temperature via NVAPI

I’m trying to read the memory junction temperature of my RTX3090. I’m sure it’s possible because hwinfo64 displays it.

I was under the impression that this should be possible with NVAPI, however, I’m only able to get to the GPU temperature.

Here’s what I do:

  1. NvAPI_Initialize to start
  2. NvAPI_EnumPhysicalGPUs to get the GPU handle
  3. NvAPI_GPU_GetThermalSettings to get the temperature

This last call only returns the GPU temperature if I set it to NVAPI_THERMAL_TARGET_ALL .
If I set it to only return NVAPI_THERMAL_TARGET_MEMORY, it returns gibberish (the count is one, but the data is a random number)

I have the R460 version of the API and installed the latest NVidia drivers (461.92)

What am I missing? Or is hwinfo using some other API? Which one?

1 Like

Googling this issue led me here. Did you happen to find a solution yet?

Hi Tyler, sorry for the late reply.
No I have not been able to solve this issue.

From my “Internet research” it appears nobody knows how hwinfo64 obtains this information. It may even be an educated guess and not an actual measurement.

For instance, this is the response I got on Reddit: