Leserartikel GPU verstehen und optimal nutzen.

GPU verstehen und optimal nutzen.

article-1280x720.6e7972c3.jpg

Einleitung


Hallo CB-Community,​
einer der wenigen Neujahrsvorsätze meinerseits ist es, diesen Leseartikel endlich fertigzustellen und zu veröffentlichen.​
Mit dem folgenden Text werde ich versuchen, die Grundprinzipien und Einflüsse auf den Betrieb einer GPU zusammenzufassen und dem geneigten Leser näher zu bringen.​
Mir persönlich war trotz jahrelangem Interesse am Thema vieles einfach nicht klar. Vergleichbar einfache Zusammenhänge wurden nicht gesehen oder falsch interpretiert.​
Das Ganze darf maximal als Hobby meinerseits angesehen werden. Es werden sich sicher die ein oder andere fachliche Unschärfe oder gar ein Fehler einschleichen. Hier bitte ich um eure Rücksicht und Feedback.​
Dabei richte ich mich bewusst an Neulinge zu dem Thema.​
DeepDives gibt es hier glücklicherweise schon genug :)

Vorwort​

Die Idee für diesen Artikel kam mir mit der Inbetriebnahme meines Laptops (Asus Zephyrus G15).​
Dieser besitzt eine RTX3080 in der mobilen Variante.​
Wie die meisten von euch sicher wissen werden, hat die mobile Variante außer dem Namen nichts mit der eigentlichen RTX3080 gemeinsam:​
RTX 3080 Desktop​
RTX 3080 mobile​
Chip​
GA102​
GA104​
Speicher​
10GB GDDR6X​
8/16 GDDR6​
Speicherinterf.​
320bit​
256bit​
SM​
68​
46​
Alu (FP32)​
8.704​
6.144​
Chipgröße​
628mm²​
392mm²​
TDP​
320W​
80-150W​
Demnach entspricht die mobile Variante eher einer RTX 3070 Desktop.​
Während die Eckdaten der jeweiligen GPU noch relativ leicht nachzuschlagen und somit qualitativ vergleichbar sind, liegt wie so oft der Teufel im Detail.​
Denn allein die Anzahl der Recheneinheiten lässt noch keinen Schluss zur eigentlich Performance zu.​
Und selbst die Performance wird hier nur eine Metrik von vielen sein, denn zum Betrieb einer GPU gehört dann eben doch mehr als reine FPS.​
Aber der Reihe nach.​

Was macht eine GPU aus?​

Eine GPU macht im Grunde genau zwei Sachen, die für den Nutzer relevant sind.​
Sie rendert die Bilder (Ertrag = FPS) und verbraucht dabei Strom (Aufwand = Power).​
Setzen wir beides ins Verhältnis erhalten wir zunächst einmal die Energieeffizienz (nennen wir sie folgend einfach "X").​
Effizienz = Ertrag / Aufwand​
X = FPS / Power​
Je höher der Wert von X in einem Spiel wird, desto energieeffizienter arbeitet die GPU.​
Dieser Wert ist jedoch niemals fix für eine GPU. Er hängt massiv vom jeweiligen Last- und Betriebspunkt ab.​
Durch das mittlerweile automatisierte Boostverhalten moderner Karten zeigen sich auch schneller mal Schwankungen zwischen eigentlich identischen Grafikkarten.​
Dies ist durch die jeweilige Chipgüte zu erklären. Jeder Chip ist streng genommen ein Unikat und benötigt für bestimmte Taktraten eine ganz individuelle Spannung.​
Den meisten Nutzern wird die eigentliche Höhe des Boosttaktes oder der Spannung nur indirekt interessieren.​
Relevant ist am Ende nur, was bei raus kommt (FPS) und ob es einem der Aufwand (Stromverbrauch) wert ist.​

Der Stromverbrauch​

Wie oben erwähnt, benutze ich einen Laptop. Das Thema Kühlung ist hierbei viel allgegenwärtiger als bei den meisten Desktop-Aufbauten. Der geringe Platz für Kühlfinnen und Lüfter lassen vergleichbar wenig Spielraum bei der Abwärme und somit dem zulässigen Stromverbrauch zu.​
Beim vorliegenden Zephyrus G15 hat Asus einen Mechanismus eingebaut, der den Körper beim Öffnen des Displays anhebt. So können die Lüfter die Luft von unten einfacher ansaugen.​
Gerade bei den Slim-Varianten der Radiallüfter ist der statische Druck ein Problem, weshalb diese Mechanik wirklich hilft, das Kühlsystem besser arbeiten zu lassen.​
Bei Desktoprechnen gibt es natürlich weitaus mehr Freiheiten.​
Die Hersteller der Karten können massive 3-4 Slot Designs auf ihre Karten schnallen und somit die kühlbaren Verbräuche auf über 400W heben. Manch eine RTX 4090 darf sogar die 600W überschreiten.​
Schauen wir aber noch mal den Vergleich zwischen der Desktop und mobilen Variante der 3080 in der obigen Tabelle an. Hierbei fällt auf, dass die mobile Variante nicht nur deutlich weniger TDP besitzt, sondern auch gar keinen fixen Wert hierfür hat. Dieser wird von Nvidia nämlich mit 80-150W spezifiziert.​
Um das zu verstehen, muss man verstehen, wofür TDP überhaupt steht. Ausgeschrieben wird es als "Thermal Power Design" und ist die relevante Kennzahl zur Dimensionierung der Kühlung. Sprich: So viel Strom wird der Chip im Mittel ziehen, die man eben wegkühlen muss (der benötigte Strom wird immer 1:1 in Abwärme umgewandelt)​
Die TDP ist jedoch NUR für die Kühlung relevant. Die Stromversorgung muss aufgrund Lastspitzen, Spannungsdynamik etc. anders dimensioniert werden.​
Während Nvidia also bei den FounderEditions und den Partnerkarten die Anforderung stellen kann, dass das Kühlsystem auf einen fixen Wert (wie bei der 3080 FE mit 320W) hin dimensioniert wird, gibt es bei Laptops eben keinen fixen Wert mehr.​
Hier wird den Herstellern der Laptops vergleichbar viel Spielraum gelassen.​
Das Ergebnis ist dann eine breite Auswahl an möglichen Chassis. Siehe die 17" XMG oder wie hier ein flacher 15" Laptop.​
Beide werden mit einer RTX3080(m) beworben und verkauft.​
Hier wird dann aber bewusst verschwiegen, dass hierbei eher eine kleine TDP verwendet werden kann. Und dies hat unweigerlich Einfluss auf die erreichbare Leistung.​

Die Leistung​

Für viele wohl der absolut wichtigste Wert einer GPU.​
Und im Falle des Zephyrus G15 haben wir schon gleich zwei Fallen, in die man tappen kann.​
Die erste ist natürlich zu denken, man bekommt die Leistung einer RTX 3080 aus dem Desktop. Der identische Name lässt zumindest für viele unbedarfte Käufer diesen Schluss zu.​
Die zweite Falle ist dann natürlich nicht zu wissen, wie viel die Karte denn nun verbrauchen darf (siehe TDP). Eine auf 80W begrenzte GPU wird in jedem Fall deutlich langsamer arbeiten als eine auf 150W begrenzte GPU.​
Die GPU wird halt gänzlich anders betrieben und ist somit auch in einem anderem Betriebspunkt.​

Betriebs- & Lastpunkt​

Mit dem Betriebspunkt wird definiert, was die Grafikkarte darf und wie sie die zur Verfügung stehenden Ressourcen zu verwenden hat.​
Unter Last versucht die GPU immer ihren eingestellten Betriebspunkt zu erreichen, der Betriebspunkt ist somit anwendungsunabhängig.​
Der Lastpunkt hingegen ist anwendungsabhängig.​
Jede Anwendung hat ihre ganz speziellen Anforderungen an die Grafikkarte. So kann es sein, dass die GPU durch diverse Limitierungen nicht mal annähernd zu 100% ausgelastet wird oder aber zusätzliche Einheiten wie RayTracing-Cores verwendet werden.​
Ein Chip ist wie eine riesige Fabrik zu verstehen, bei der nur in den seltensten Fällen alles gleichmäßig ausgelastet ist. Daher wird jede Anwendung diese Fabrik auch anders fordern.​
Dies wird besonders deutlich, wenn man sich die erreichten Taktraten anguckt. Bei manchen Spielen werden höhere Taktraten erreicht als bei anderen, obwohl in beiden Fällen gleich viel Strom verbraucht wird.​

Limitierungen​

Die sich für den Betrieb des Chips ergebenden Limitierungen wurden eben schon genannt:​
Limit​
Beschreibung​
Power​
Siehe TDP. Erlaubt nur eine gewisse Menge an Stromverbrauch​
Temperatur​
Maximal zulässige Temperatur bevor gedrosselt wird​
Takt​
Maximal zulässiger Takt der zu Erreichen versucht wird​
Spannung (evtl. Taktabhängig)​
(Taktabhängige) Spannungskurve die der Chip sieht​
Extern​
FPS-Begrenzer​
Daten​
CPU-Limit, Engine​

Es wird immer ein Limit geben, welches die Leistung der GPU begrenzen wird, da ansonsten unendlich FPS generiert werden würden.​
Natürlich ist es jedoch ärgerlich wenn die GPU eigentlich viel mehr leisten könnte, aber durch ein einzelnes, tiefliegendes Limit zurückgehalten wird.​
Dies zeigt dann auch den eigentlichen Kern meiner Intension für diesen Artikel:​
Wie ändere ich Limits so ab, dass die GPU für meine Bedürfnisse optimal läuft?​
Hierzu muss man sich zunächst fragen, welche Limits überhaupt in einem vertretbaren Rahmen veränderbar sind und welche eben nicht.​
Bei meinem Laptop kann ich beispielsweise das CPU-Limit kaum bis gar nicht anheben (Overclocking bringt i.d.R. bei Zen3 und aufwärts so gut wie nichts mehr, ein Tausch der CPU ist ausgeschlossen).​
Würde ich also in meinem Usecase in einem CPU Limit hängen, kann ich den Betriebspunkt meiner GPU nur noch bedingt optimieren.​

Vorgeschichte

Dieser Teil des Artikels erklärt, wie es überhaupt zu dem ganzen hier kam. Da ich zu diesem Zeitpunkt zwar halbwegs in der Materie drin war, aber keinerlei umfassenden Guide finden konnte, fing ich natürlich an, selber zu recherchieren.

Ich werde alle wichtigen Schritte im nächsten Abschnitt nochmals gesondert aufführen, weshalb dieser Abschnitt bei fehlendem Interesse auch übersprungen werden kann.

Erste Schritte​

Nach dem Einrichten von Windows und dem Installieren aller notwendiger Treiber, kam die Qual der Wahl.​
Welches Spiel will ich zuerst testen?​
Zunächst wurde Cyberpunk installiert und geguckt, wie die Kiste rennt.​
Die Ernüchterung kam schnell. Die FPS entsprachen nicht im Ansatz meinen Hoffnungen.​
Als Referenzwert hatte ich hier die RTX 3070 aus dem CB-Test herangezogen. Ganze 40% lag ich drunter.​
Weitere Spiele zeigten ein ähnliches Ergebnis, also begann ich mit der Fehlersuche.​

Analyse Ist-Zustand​

Zunächst habe ich geguckt, womit ich es überhaupt zu tun habe.​
Mein Laptop bietet mir über die Software "Armory Crate" zunächst 4 Betriebsmodi (Windows, Silent, Turbo, Manuell)​
Leider ist keine eindeutige Dokumentation über die enthaltenen Funktionen vorhanden.​
Im Endeffekt kann man neben der Lüftersteuerung mit dem Tool die TDP und Taktraten der CPU und GPU leicht anpassen.​
Updates der Software haben mit der Zeit jedoch einige Funktionen abgeändert bzw. hinzugefügt.​
Daher entschied ich mich, ab hier nur noch den manuellen Modus zu verwenden und sämtliche Power/Takt Einstellungen auf anderen Wege einzustellen.​
Die Lüftersteuerung hingegen schien recht gut zu funktionieren und kann temperaturabhängig in einem Kurvendiagram eingestellt werden.​
Für das Monitoring bietet sich das das Tool "MSI Afterburner" (Erklärungslink) an.​
Ich habe mir damit die Temperaturen und Taktraten der CPU und GPU anzeigen lassen.​

Temperaturen​

Die Temperatur der GPU war mit etwa 78°C unter Last unkritisch. Anders jedoch die der CPU. Hier wurde konstant >90°C erreicht. Selbst im Leerlauf waren es selten unter 70°C.​
Hier schien etwas nicht zu stimmen, weshalb ich mich entschloss den Laptop zu öffnen und den Kontakt zum Kühlkörper zu prüfen.​
Es zeigte sich, dass zwar eine großzügige Menge an Flüssigmetall verwendet wurde, jedoch nicht in der Mitte des DIEs. Diese schien trocken zu sein und somit ohne Kontakt zum Kühler.​
Zephyrus1.jpg
Ebenso schien Asus es sehr gut mit der verwendeten Menge an Wärmeleitpaste im GPU Bereich zu meinen, weshalb ich mich entschied, alles zu erneuern.​
Die Ergebnisse sprachen für sich:​
RepasteGPU.png
RepasteCPU.png
Erfreut über die positiven Veränderung, war die Ernüchterung später umso größer.​
Der Laptop war nun zwar eine Ecke leiser geworden, doch gefühlt kein Prozent schneller.​

Erreichte Taktraten

Also schaute ich auf die erreichten Taktraten. Die CPU schien mit 4,2-4,4Ghz Takt im Spiel einwandfrei zu funktionieren.​
Bei der GPU zeigte sich aber ein ganz anderes Bild. Etwa 1000Mhz wurden in Cyberpunk erreicht.​
Dabei sollte sich laut erster Internetrecherche ein Boosttakt von etwa 1400Mhz einpendeln.​
Dies war für mich ein eindeutiges Indiz, wo es wirklich klemmt. Die etwa 40% Leistungsverlust schien sich überraschend genau mit den 40% Taktratenverlust zu decken.​
Eine frische Windowsinstallation und ein händisches Aufspielen der neuesten Treiber zeigten keine Verbesserung.​
Fast durch Zufall sah ich dann am Folgeabend, dass es plötzlich etwa 1200Mhz waren, obwohl ich zu diesem Zeitpunkt Softwaremäßig nichts geändert hatte.​
Ich hatte lediglich statt dem HDMI-Kabel mein frisch geliefertes USB-C zu DP Kabel verwendet. Und plötzlich viel mir der Artikel Gaming-Notebook-Benchmarks: Viel mehr FPS in Spielen durch einen MUX-Switch-Klick hier CB wieder ein. Ein Thema, dass ich als eigentlicher Desktop-Nutzer kaum kannte.​
Nun wir mir aber auch klar, woran es liegen müsste.​

Verbrauch​

Asus hat auf der Produktseite die GPU mit 100W beworben. Das Monitoring über AfterBurner zeigte mir jedoch maximal 80W als Verbrauch für die Grafikkarte an. Dies lässt sich durch das dynamische TDP-Verhalten erklären.​
Generell hat die GPU Zugriff auf 80W, die CPU auf 35W. Obendrauf lassen sich 20W dynamisch verteilen. Dies erledigt die genannte Armory Crate Software bzw. das BIOS der jeweiligen Chips.​
Zu diesem Zeitpunkt schien dieses dynamische Verteilen nicht zu funktionieren, weshalb auch bei Verbräuchen der CPU von unter 25W der GPU kein zusätzlicher Spielraum geschenkt wurde.​
Da die TDP der GPU aber nur über ein angepasstes vBIOS der GPU wirklich geändert werden kann.​
Das sogenannte Flashen ist jedoch mit Risiken verbunden, da bei im worst case die GPU unbrauchbar wird.​
Glücklicherweise hat die AMD CPU eine eigene GPU verbaut und man könnte bei einem misslungenen Versuch auf die interne Grafik setzen und das ursprüngliche BIOS zurückflashen.​
Dies soll jetzt aber keine Anleitung zum flashen selber werden. Die gibt es für Nvidia GPUs zu genüge :)
Seid euch einfach im Klaren, was ihr tut BEVOR ihr irgendetwas in der Richtung machen wollt.​
Ich habe mir also überlegt, wie ich weiter vorgehen werde und was ich überhaupt von meinem Laptop erwarte. Das führt uns auch zum nächsten Abschnitt, der eigentlichen Umsetzung und den erzielten Ergebnissen.​

Die Umsetzung

Anforderungen
Jeder Mensch hat andere Anforderungen an seinen Rechner. Sei es ein kompromissloser Gaming-Rechner, der jedes FPS jagen soll, ein möglichst leises System oder aber auch irgendwas dazwischen. Bei steigenden Strompreisen kann einem auch z.B. ein möglichst geringer Stromverbrauch am wichtigsten sein.​
Da ich mit Kopfhörern spiele, ist mir die Lautstärke eher weniger wichtig. Ein kurzer Test zeigt mir, dass ich alles über 85% Lüfterdrehzahl als störend empfinde. Also wird das meine maximale Drehzahl sein, welche ich in der Armory Crate Software zulassen werde.​
Mein Monitor kann zwar nur 60hz, besitzt aber eine 4k Auflösung. Hier werde ich im Laufe der Optimierung feststellen müssen, ob mir die Leistung ausreicht. Mein Ziel ist also in meinen Anwendungen die 60 FPS stabil hinzubekommen. Dies wird natürlich ebenfalls von den Grafikeinstellungen bestimmt, aber manchmal brauch man einfach die Leistung.​
Der Stromverbrauch wäre mir zwar prinzipiell egal, doch ist mein Laptop erst einmal für eine bestimmte TDP entwickelt. Dass bei 300W die Leitungen glühen und andere Bauteile beschädigt werden könnten, muss einem klar sein. Und da Hardware teuer ist, geht man entsprechend vorsichtig vor.​








.​
.​
.​
to be continued​
 

Anhänge

  • Zephyrus1.jpg
    Zephyrus1.jpg
    1,6 MB · Aufrufe: 112
  • Repaste.png
    Repaste.png
    22,3 KB · Aufrufe: 110
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: SVΞN, bart0rn, DEADBEEF und 3 andere
Moinsen,
könntest du oben noch eine Inhaltsangabe einfügen?
Und wenn du innerhalb deines Artikels verlinken möchtest, funktioniert das damit:
2023-01-04.png


2023-01-04 (1).png


Gruss Andi


@SVΞN
 
Das ist gerade noch alles mit der heißen Nadel gestrickt. Bin in Kontakt mit Sven, wird noch was polish ubd Inhalt bekommen
Ergänzung ()
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: SVΞN und andi_sco
iNFECTED_pHILZ schrieb:
Das ist gerade noch alles mit der heißen Nadel gestrickt.
Moinsen, bist noch bei den Updates bei?
 
  • Gefällt mir
Reaktionen: wrglsgrft
Zurück
Oben