Nvidia GPU Temperatur lesen

Code-Stücke können hier veröffentlicht werden.
Mad-Marty
User
Beiträge: 317
Registriert: Mittwoch 18. Januar 2006, 19:46

Nvidia GPU Temperatur lesen

Beitragvon Mad-Marty » Montag 26. November 2007, 14:12

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()
Zuletzt geändert von Mad-Marty am Montag 26. November 2007, 23:53, insgesamt 1-mal geändert.
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Beitragvon rayo » Montag 26. November 2007, 16:24

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
The Spirit
User
Beiträge: 274
Registriert: Freitag 8. Juni 2007, 08:50
Wohnort: 84xxx Bereich
Kontaktdaten:

Beitragvon The Spirit » Montag 26. November 2007, 17:53

geht das auch mit ati karten?
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Montag 26. November 2007, 20:14

Da es die `NVCpl`-DLL nutzt würde ich auf "Nein" tippen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Mad-Marty
User
Beiträge: 317
Registriert: Mittwoch 18. Januar 2006, 19:46

Beitragvon Mad-Marty » Montag 26. November 2007, 23:46

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.
Zuletzt geändert von Mad-Marty am Montag 26. November 2007, 23:56, insgesamt 1-mal geändert.
Mad-Marty
User
Beiträge: 317
Registriert: Mittwoch 18. Januar 2006, 19:46

Beitragvon Mad-Marty » Montag 26. November 2007, 23:48

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 ^^).

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder