Get GPU temperature

dikidera picture dikidera · May 1, 2011 · Viewed 9.7k times · Source

I am really puzzled here. I want to create an application that does different events upon different temperatures of my graphics card which is an AMD one.

The reason i want to make such an applications is because, for a GPU i haven't found one, and the second is to ensure i never fry my card by reaching enormous temps.

However i have no idea how people(not connected to amd/intel/nvidia) write applications to monitor temperatures of any kind.

So how does it happen? Some APIs i don't know or something?

Answer

Gogeta70 picture Gogeta70 · May 1, 2011

After a little bit of googling, i found this:

I think this is really vendor specific, it will probably involve interfacing directly with the motherboard or video driver and knowing which IOCTL represents the code for requesting the temperature. I reverse engineered a motherboard driver once for this purpose. It's not as hard as it sounds, download a manufacturer motherboard/BIOS utility and try to hook the function that gets called when that app needs to display the temperature to the user. Then watch for a call to DeviceIoControl() in Windows, or ioctl() in linux and see what the inputs / outputs are.

This may be your best bet. I found this information here:
http://www.gamedev.net/topic/557599-get-gpucpu-temperature/

Edit:
Also found this:
http://msdn.microsoft.com/en-us/library/aa389762%28v=VS.85%29.aspx
http://msdn.microsoft.com/en-us/library/aa394493%28VS.85%29.aspx

Hope it helps.