Seite 1 von 1

Nvidia GPU Temperatur lesen

Verfasst: Montag 26. November 2007, 14:12
von Mad-Marty
hier mal ein kleines Beispiel wie man von NV Karten die Temperatur liest:

Vielleicht findets ja jemand nützlich.

Code: Alles auswählen

import ctypes

def main():
    nvcpl = ctypes.CDLL("NvCpl")
    ct, at, ul = [ctypes.c_int32() for x in range(3)]
    r = nvcpl.NvCplGetThermalSettings(ctypes.c_int32(0), ctypes.pointer(ct),
                                      ctypes.pointer(at), ctypes.pointer(ul))
    if r:
        res = 'Core-temp: %d\nAmbient-temp: %d\nUpper-limit: %d'%(
                                                ct.value, at.value, ul.value)
        ctypes.windll.user32.MessageBoxA(0, res, 'Values', 0x40)
    else:
        ctypes.windll.user32.MessageBoxA(0, 'GetThermalSettings Failed',
                                                             'Failed', 0x40)


if __name__ == '__main__':
    main()

Verfasst: Montag 26. November 2007, 16:24
von rayo
Hi

Ersetze doch die ctypes.pointer() aufrufe durch ctypes.byref() ... macht zwar keinen Unterschied für dich, jedoch macht ctypes.pointer mehr Arbeit als byref und da du sowieso das PointerObject in Python nicht brauchst, nimmt man eigentlich byref.

Gruss

Verfasst: Montag 26. November 2007, 17:53
von The Spirit
geht das auch mit ati karten?

Verfasst: Montag 26. November 2007, 20:14
von Leonidas
Da es die `NVCpl`-DLL nutzt würde ich auf "Nein" tippen.

Verfasst: Montag 26. November 2007, 23:46
von Mad-Marty
rayo hat geschrieben:Hi

Ersetze doch die ctypes.pointer() aufrufe durch ctypes.byref() ... macht zwar keinen Unterschied für dich, jedoch macht ctypes.pointer mehr Arbeit als byref und da du sowieso das PointerObject in Python nicht brauchst, nimmt man eigentlich byref.

Gruss
Berechtigter Einwand - aber eigentlich egal im showcase - so wahnsinnig viel mehraufwand wird die Erstellung des Pointer objects nun auch nicht machen.

(Auserdem is es so besser nachvollziehbar, da das SDK eben von pointern spricht.)

Wird erst interessant wenn man permanent die Daten pollt.

Verfasst: Montag 26. November 2007, 23:48
von Mad-Marty
The Spirit hat geschrieben:geht das auch mit ati karten?
Nein.
Aber sobald ich mal dazu komme werd ich das hier auch veröffentlichen wie es da geht (Bedeutet, dann wenn ich an den anderen Rechner geh ^^).