Autor Thema: Dynamische GPU und CPU Anpassung nach erforderlicher Leistung.  (Gelesen 6046 mal)

Offline Dark Obsecraere

  • Der Philosoph
  • hat ne Kompressorkühlung
  • *
  • Beiträge: 535
  • Stabilitäts-Junkie
Ich mach mir schon seit längeren Gedanken wie man die Brachiale Leistung eines PC auch bändigen kann in fällen wo man nicht viel Leistung braucht! Oder einfach Leistung Überschuss hat.

Ich kann Z.B Momentan AoC Spielen und neben bei 3Parallele Rechen Aufgaben bei Boinc berechnen lassen ohne das ich im Spiel unter 50FPS Falle!.

Ich hab mir Kürzlich eine 4870HD und ein Q9550 besorgt so wie das GA-EX38-DS4.
Diese Kombination hat Power momentan im Überfluss, Spiele Laufen mit 60+ FPS oder teils 200 FPS!, wobei 30 im Grunde ausreichen würden.

Dabei festgestellt das man Manuel oder mit einigen hilfs Tools hier und da schon die Leistung anpassen kann je nach dem wie viel man braucht.

Konkret geht es mir darum, den Spielraum von GHZ zu gunsten des Energie Verbrauchs Automatisch an zu passen.

Z.B. in der Denkstopp Umgebung kann mann theoretisch die GPU fast auf das absolute Takt Minimum herunter Takten um Energie zu sparren.

Bei dem Chip macht das Intel durch den Multiplikator also entweder 6 oder 8,5 in meinem fall, so kann mann auch etwas Energie sparren.

Somit zur Idee ein Programm zu entwickeln das die bestehenden Funktionen nutzt um maximal Energie zu Sparren.

Die Grund Idee
Die laufende Anwendung Analysieren z.b. ein Spiel in dem man im Vorfeld angeben kann mit welcher FPS Umgebung man sich wohl fühlt.
Die angesprochenen 30FPS.
Worauf die GPU automatisch untertaktet wird um z.b in einem Spiel von 60+ FPS auf 30 FPS zu fallen.

Das Programm müsste lediglich ein Profil von dem ATI Treiber editieren so wie die Log feil von Faps analysieren.
Bei FAPs ein Mittel ermitteln von 10s und danach alle 10s das Profil anpassen und Aktiveren, das geht ja auch im laufendem Betrieb.

Also der Ansatz ist Primitiv, jemand der sich mehr mit der Materie auskennt kennt bestimmt noch eine bessere Methode.

Hätte wer Lust so ein Tool zu entwickeln?






Offline maxigs

  • Administrator
  • Singlestagebesitzer
  • *****
  • Beiträge: 1.224
    • maxigs.com
Re: Dynamische GPU und CPU Anpassung nach erforderlicher Leistung.
« Antwort #1 am: 27. September 2008, 11:02:06 »
wie es für grafikkarten aussieht weiß ich jetzt nicht, aber prozessoren dürften das doch eh machen?

in meinem macbook ists so, dass der c2d in der regel immer bei 1gh dahinläuft, und sich dann langsam - je nach benötigter leistung immer höher taktet bis zum maximum von 2,3ghz. unter osx gibs da auch ein hübsches programm in dem man die einzelnen zwischentakte einstellen kann (bzw welche die der prozessor vorgibt man auch benutzen will), sowie einen regler für die ansprechzeit (wie schnell er sich also höher takten soll wenn mehr power nötig wird).
das ganze sollte mit intel prozessoren bei normalen PCs auch so machbar sein (machen das ned die neuen manboards von haus aus so?) und grafikkarten bringen ja auch schon immer zig programme mit, zur dynamischen takt anpassung
- Feeding the trolls is funny :ugly: -

Offline Gargamel

  • hat ne Eismaschine
  • *****
  • Beiträge: 395
Re: Dynamische GPU und CPU Anpassung nach erforderlicher Leistung.
« Antwort #2 am: 27. September 2008, 11:57:42 »
Hast du mal konkrete Messwerte, welchen Unterschied es bei der Leistungsaufnahme macht, wenn du CPU- bzw. GPU-Takt änderst? Bevor sich da jemand in die Arbeit stürtzt ein entsprechendes Tool zu entwickeln, sollte man schließlich wissen, was welche Änderung genau bringen kann.

Man sollte auch nicht vergessen, dass die Leistungsaufnahme einer CPU proportional zu "Taktfrequenz * Spannung * Spannung" ist. Absenken der VCore bringt also wesentlich mehr, als den Takt zu verringern. Bei meinem Desktop Rechner habe ich z.B. festgestellt, dass es auf dem Leistungsmessgerät und auch bei der CPU-Temperatur überhaupt keinen Unterschied macht, ob meine e4400 CPU im Leerlauf mit 1200MHz oder 2000MHz läuft (bzw. Multi 6 oder 10). Änderungen der CPU-Spannung machen sich hingegen bei der CPU-Temperatur deutlich bemerkbar. Leider hatte ich zu dem Zeitpunkt kein Leistungsmessgerät hier. Interessant wäre vielleicht auch, wie der Verbrauch aussieht, wenn die CPU einmal bei 1200MHz mit 100% ausgelastet ist und im Vergleich dazu wie es bei 2000MHz und 60% Auslastung aussieht. Beides entspräche ja der selben Rechenleistung pro Zeit.

Was du außer dem Absenken der CPU Spannung noch ohne das von dir gewünschte Programm machen kannst wäre:

1. Limitieren der maximalen Wiederholfrequenz: Entweder durch aktivieren einer "FPS-Clamp" Option im jeweiligen Spiel (falls vorhanden) oder in Form von V-Sync (oder wie nennt man das?) im Treiber. 200FPS zu berechnen macht ja keinen Sinn, wenn der Monitor z.B. nur 60FPS darstellen kann.

2. Undervolting der GPU: Mit ATItool die VGPU Spannung der Grafikkarte absenken (sofern das bei den neuen Karten noch möglich ist) und mit dem Artifact-Scan auf Stabilität testen. Bei meiner x1950xt konnte ich im 3D-Modus die Spannung von 1,425V auf 1,25V absenken, was unter Last immerhin 30W Unterschied ausmacht.

Wenn du nach diesen Maßnahmen immernoch durch Taktänderungen merklich aufgenommene Leistung einsparen kannst, dann würde das von dir beschriebene Tool sicherlich Sinn machen. Um die Unterschiede zuverlässig ermitteln zu können, braucht man aber auch ein vernünftiges Leistungsmessgerät (was ich leider nicht hatte). Manche Billig-Dinger haben eine Messauflösung in der Größenordung von 10W, sowas macht natürlich wenig Sinn. Außerdem muss das Gerät auch mit Schaltnetzteilen zurecht kommen, was grade im unteren Preisbereich nicht selbstverständlich ist.

Edit: @maxigs: Der Editor hat mir eben beim "Vorschau" klicken gemeldet, dass es einen neuen Beitrag gäbe, diesen aber nicht angezeigt :aua:... Aber zu den dynamischen Taktfrequenzen von Grafikkarten: Da wird üblicherweise bestenfalls zwischen zwei Kombinationen aus Takt und Spannung unterschieden - ein 2D und ein 3D Modus. Wenn es überhaupt mehrere Modi gibt (leider bei modernen Karten nicht immer selbstverständlich), so werden diese afaik nicht abhängig von der Rechenlast umgeschaltet.
« Letzte Änderung: 27. September 2008, 12:05:02 von Gargamel »

Offline CptHirni

  • hat nen Monsterradi
  • ****
  • Beiträge: 240
  • Schläfer
Re: Dynamische GPU und CPU Anpassung nach erforderlicher Leistung.
« Antwort #3 am: 27. September 2008, 12:06:22 »
CPUs machen das schon, falls du EIST und C1E aktiviert hast.
Und für die Graka kannst du Rivatuner nehmen, dort Profile für 2D und 3D einstellen. 2D eben das minimum womit deine Graka noch stabil ist und 3D dann die volle Leistung. Erkennen und dazwischen switchen sollte der RT dann automatisch. Oder du erstellst noch mehr Profile für deine versch. Games. Wenn du eins hast, das mit 200fps rennt gibst du dem Profil eben nur halben oder dreiviertel Takt. RT sollte so intelligent sein und das passende Profil wählen können wenn du die .exe von nem Game anhaust (Vermutung :) ).
Obs sinnvoll ist und man damit viel sparen kann bezweifel ich aber, denn die Spannung der GPU etc wirst du wohl nur per Bios-flash umstellen können..und das geht soweit ich weiß nicht im laufenden Betrieb. Ob die Karte nun 3/4-Takt läuft oder bei vollen Takt dürfte da aus Stromverbrauchssicht fast egal sein bei konstanter Spannung.

Afaik sollten moderne Karten im idle eh die Spannung und den Takt senken und nurnoch einen Bruchteil des Stroms ziehen.

Ob dein Vorhaben die Leitung dynamisch während des Spiels anzupassen machbar und sinnvoll ist...mhmh, ich weiß ja nich ;)
Ich glaube es gäbe keine Möglichkeit z.b. zwischen Zwischensequenzen und aktivem Game zu unterscheiden. Nun kommt ne 9.5 Sekunden lange Zwischensequenz, das Spiel rennt auf einmal mit 200++ fps..GPU taktet sich just in dem Moment runter wo das Spiel weitergeht..und du krüppelst 10 Sek herum.
Frage mich ob nen Spiel das irgendwie stören könnte wenn man im Betrieb die Taktraten ändert. Könnte man mal probieren und per Taskplaner nen RT-Profil mit geringerem Takt anstoßen während man spielt.

Ich schätze mal sowas wie EIST/C1E wirds mit den kommenden GPU Generationen geben wenns technisch machbar ist. Bei der CPU gehts ja auch...also wieso nicht auch auf der Graka? Nur dann eben vernünftig mit in Bruchteilen von Sekunden switchenden Takt- und Spannungszuständen. Oder Abschaltung von nicht gebrauchten Shadereinheiten, Ram, sonstwas.

Lange Rede kurzer Sinn: Rivatuner Profil für 2D/3D, alles andere sinnlos, da kaum Einsparpotential wenn man nur Takt ändert.

Edit: Der "neue Beitrag" war vll meiner- hab auf Vorschau gehämmert und dann noch was geändert..mir hats keinen neuen angezeigt  :confused:
« Letzte Änderung: 27. September 2008, 12:08:51 von CptHirni »
<@[A|K]Leviathan> hirni, deine eine schulter ist voll mit schwarzen gestalten, auf der anderen befindet sich nur ein schild mit der aufschrift "auf unbestimmte zeit im urlaub"

Offline maxigs

  • Administrator
  • Singlestagebesitzer
  • *****
  • Beiträge: 1.224
    • maxigs.com
Re: Dynamische GPU und CPU Anpassung nach erforderlicher Leistung.
« Antwort #4 am: 27. September 2008, 12:13:46 »
Am Beispiel des MBP: 1002Mhz bei 0.95V gegen 2338Mhz bei 1,2125V

2338Mhz / 1002Mhz * (1,2125V / 0,9500V)^2 = 3,80095799

Dh dass bei Maximaltakt fast das 4x an Leistung verbraten wird, lohnt sich auf jeden fall den Spielraum auszunutzen ;)

Alleine mit Takt wären es immerhin noch knapp über Faktor 2x
« Letzte Änderung: 27. September 2008, 12:14:32 von maxigs »
- Feeding the trolls is funny :ugly: -

Offline Fantometer

  • Redakteur
  • ist zum Südpol gezogen
  • ***
  • Beiträge: 4.218
  • Freak by Nature
    • Weng Kunst von mir
Re: Dynamische GPU und CPU Anpassung nach erforderlicher Leistung.
« Antwort #5 am: 29. September 2008, 09:26:56 »
Bei AMD macht das Cool'n'Quiet
Hiermit ehre ich den findigen Biologen, der auf die Idee kam, Pizza und Leberkäse zu kreuzen!

Offline Phreak Show

  • hat ne DualRadiWakü
  • ***
  • Beiträge: 140
  • CarPC rulezz
Re: Dynamische GPU und CPU Anpassung nach erforderlicher Leistung.
« Antwort #6 am: 30. September 2008, 01:43:11 »
Für CPUs wird das (zumindest einigermaßen gut) vom Treiber unter Windows geregelt, Cool n Quiet bei AMD im Desktop-Bereich (ansonsten Power Now!), bei Intel eben das erweiterte Speedstep.
Da die Spannungen hier aber recht konservativ sind, empfehle ich jedem einen Blick auf rmlock. Dort kann man sich zusammen mit prime/orthos langsam an die niedrigste Spannung rantasten, mit der die CPU noch stabil rennt. Mein Dothan im Subnotebook braucht idle zB nur 0,7V, da komm ich aber mit Speedstep nicht hin. Das geht nur mit rmlcock.

Für Grakas gibts das afaik nicht. Aber man könnte eben mit ATITool den stabilsten 2D-Takt ausloten und den dann in ein geändertes BIOS schreiben. Allerdings glaub ich nicht, dass das so viel bringt. Außer Ärger...
greeeetz Stefan


Offline Dark Obsecraere

  • Der Philosoph
  • hat ne Kompressorkühlung
  • *
  • Beiträge: 535
  • Stabilitäts-Junkie
Re: Dynamische GPU und CPU Anpassung nach erforderlicher Leistung.
« Antwort #7 am: 10. Oktober 2008, 00:04:02 »
Ins Bios schreiben braucht man da nicht viel.

Ich hab in den letzten Tagen mit ATI Tools herum experimentiert und da kann man das Statisch einstellen.
FPS so und so dan Takt auf der Karte so und so.
Es funktioniert auch wenn man sich nur auf ein und dem Selben Leistungs- Nivo bewegt.

Stimmt für die CPU währe dies nicht nötig, dass macht Intel schon sehr gut von alleine.

Ich denk ich leg mir einfach mehrer Profile an für unterschiedlich Spiele und gut ist.