VRAM junction temp is exposed as sensor number 10 (for rtx 3x00 / gddr6x) in the NVML library, according to a miner developer. Now we just have to wait until someone publishes a small tool for reading it. It’s not an exploit as it’s actually exposed by the driver.
Would you mind sharing a source or some more details? NVML only provides one temperature sensor (enum 0). So there must be a trick to get sensor 10.
He wouldn’t reveal excactly how (yet). Other than confirming you can get it through NVML’s internal functions. I’ll pester him again later when all miners have it. Some miners also expose Core Hotspot in Linux now btw.
This is becoming more and more of a joke. NVIDIA refusing to implement such a simple feature and at the same time the community is refraining from disclosing useful implementative information that would help a huge amount of people. Miners are not better than NVIDIA, after all.
I think I (Finally…) realized how to get the memory junction temperature via NvAPI,
So I found this open source hardware monitor app: LibreHardwareMonitor, this app is just like HWiNFO and GPU-Z and its showing the memory junction temperature as well, So I’ve dug little bit in their code and I found out how they fetch the memory temperature, all the magic is happen here: NvApi.cs, you can see in line 198 that they loading the nvapi64.dll
, this dll exposing the method nvapi_QueryInterface
, using this method they was able to get all the methods that the NvAPI is exposing, you can see in lines 72-93 that they was getting all the methods based on their addresses (I have no clue how they got these addresses), the most interesting method is in line 93 where they use the address 0x65FE3AAD
to fetch the function that retrive the memory temperature, they called it NvAPI_GPU_ThermalGetSensors
, eventually they was triggered this function here: NvidiaGpu.cs#L996.
So you can use this project to get the memory temperature or you can write your own code to do the same process they did.
I’ve wrote small script in nodeJS to do the same as they did in the LibreHardwareMonitor and managed to get the memory temp :D (I’ve attached screenshot)
That a mining program developed by third parties such as GMiner provides its users with more support on NVIDIA 30 series hardware than NVIDIA itself on the GNU/Linux platform makes the company’s intentions very clear. It is not about being able to overcome a difficulty but about wanting to do it and after investing more than €10K (now more than €18K) in their products, the feeling is clear: They not only charge you an extra price for material shortages like a fool They treat you like a fool even to provide you with technical support. I deduce more than founded that their intention has always been to destroy the hardware once purchased. A real scam.
then stop purchasing his products ¯_(ツ)_/¯
Great description. Unfortunately nvapi is not available on linux so I suppose all the miners read the memory temperature via nvml or somehow directly from the driver.
Does anyone have more insight how all the mining softwares read out the memory temperature on linux? Somehow they managed to get these values but I could not find how they do it.
I think I know how these miners get the memory temperature on linux, It’s probably related to the Nvidia’s source code that was leaked, probably miners analyzed these code and found how to get it, its sad that its needed to hack Nvidia to get information on sensors… but anyway look on the date that the code was leaked, around 1st March 2022 (NVIDIA DLSS Source Code Leaked | TechPowerUp), now look on the dates that these miners released their version with the memory temperature on linux, just couple days after, Gminer 2.88, or look at MMPOS Changelog, you can see in changelog of 1st March:
Introduced long awaited NVIDIA sensor reading.
So if you want you can try to analyze these leaked code and try to figure out how they got it from there, or wait for some else to publish it, but for sure don’t wait for Nvidia to release driver version that expose this information because they probably won’t :(
Sadly these miners are all closed source and I could not find any information how they did it.
Did you get any additional information how they get the memory temperature? I could write a small tool if I would know where to read the data from.
Sorry, I didn’t get any more information. Don’t know why miner developers are so intent on keeping this secret, as all major miners have this feature now.
Care to show the appropriate APIs for Windows?
The Windows NVIDIA driver does not provide this functionality either. It is third party software which provides it on Windows.
Hello,
I use linux. I still couldn’t find a solution to read the temperature. Unfortunately, I don’t understand C and C # at the right level. Would you share the nodejs code with us? Thank you in advance.
So another month passed,any solutions to get the memery temperature proposed ?
The 525 drivers ship with a linux implementation of nvapi for the first time (libnvidia-api.so) as noted here: NVAPI libnvidia-api.so.1 relevance · Issue #100 · jp7677/dxvk-nvapi · GitHub
So someone could try looking up the thermal sensor function and calling it. I might try it if I find the time.
NVML already has a copy/pasted version of that function from NVAPI. What’s missing is any kind of documentation on how it’s supposed to actually work.
LibreHardwareMonitor passes a value of 15 as the sensorIndex which makes no sense but somehow works. I had thought sensorIndex was the array index populated but I guess not.
We must have this feature.