Beziehung zwischen GPU-Auslastung und Stromverbrauch der Grafikkarte

8

Ich frage mich, in welchem ​​Verhältnis die GPU-Auslastung zum Stromverbrauch der Grafikkarte steht.

Im folgenden Screenshot beträgt die Auslastung von GPU 2 92%, während der Stromverbrauch 129 von 250 Watt beträgt. Warum liegt der Stromverbrauch nicht bei 250 * 0,92 = 230 Watt?

Geben Sie hier die Bildbeschreibung ein

Franck Dernoncourt
quelle

Antworten:

14

Der Lastfaktor zeigt an, wie viel mehr von derselben Berechnung durchgeführt werden könnte, nicht wie viel von der gesamten Verarbeitungskapazität des Chips für diese Berechnung verwendet wird.

Zum Beispiel zeigen Ihre 92%, dass die GPU im Durchschnitt 920.000 von 1 Million Taktzyklen ausgeführt hat. Dies bedeutet nicht, dass 92% jeder einzelnen Schaltung jedes einzelnen Shader-Prozessors aktiv waren, geschweige denn 92% jeder einzelnen Schaltung auf der gesamten Karte (VRAM-Controller, DAC, Shader und Rastereinheiten sowie Verzweigungsvorhersagen und Textur-Lookup-Einheiten und bald).

Wenn Ihre Nutzung nur einige wenige GPU-Funktionen nutzt, können Sie möglicherweise 100% des Durchsatzes dieser Funktionen nutzen, während die Hälfte des Chips eingeschlafen bleibt. Aber die Hälfte, die schläft, konnte für diese Art von Arbeit überhaupt nicht verwendet werden.

Ben Voigt
quelle
Danke, dies scheint mit meinen Experimenten auf der Karte zu bestätigen.
Franck Dernoncourt
1

Normalerweise bedeutet dies, dass Ihr CUDA-Programm nicht optimal ist. Ich optimiere jetzt mein CUDA-Programm. Ich habe mehrere Iterationen davon geschrieben, um die Leistung in jeder Iteration zu verbessern. Überraschenderweise wurden in jeder Iteration 100% der GPU-Last gemeldet. Der Stromverbrauch war jedoch in jeder Iteration unterschiedlich. In der letzten Iteration wurde mein Programm mit dem Anstieg des Stromverbrauchs von 40% auf 70% siebenmal (!!!) in Bezug auf die Wandzeit verbessert, die erforderlich ist, um das zu berechnen, was ich benötige.

Die GPU bleibt meistens bei Speicheroperationen stehen. Ich habe für ein besseres Caching optimiert (dh weniger globale Speicher-Treffer) und die folgenden Änderungen an den Sensoren erhalten:

  • GPU-Last: bleibt bei 100%
  • Speichercontrollerlast: von 20% auf 25% erhöht
  • Stromverbrauch: von 40% auf 70% erhöht
  • Wandzeit für die Berechnung: 7-mal verringert

Leider ist der Quellcode proprietär, daher kann ich ihn Ihnen nicht geben, um es selbst zu versuchen. Sie können sich jedoch ein Bild davon machen, was der Engpass in meinem Programm bewirkt: Es handelt sich um eine Schleife mit einem Speicher, der aus einem Array ( ith-Element) gelesen wird , einer Addition und einer Multiplikation sowie einer Zuweisung von float.

Serge Rogatch
quelle
0

250 Watt ist der maximale Stromverbrauch für dieses Grafikkartenmodell, nicht für diese spezielle Grafikkarte. Solange Sie nicht die schlechteste Instanz dieses Grafikkartenmodells haben, die jemals hergestellt wurde, werden Sie niemals 250 Watt verbrauchen.

David Schwartz
quelle
1
Vielen Dank. Warum sollte sich diese bestimmte Grafikkarte von den Spezifikationen des Grafikkartenmodells unterscheiden? Sind die Stromverbrauchsspezifikationen typischerweise eine sehr konservative Obergrenze?
Franck Dernoncourt
7
Dies erklärt nicht einmal den Grund, warum der tatsächliche Stromverbrauch geringer als TDP ist.
Ben Voigt
@FranckDernoncourt Wenn eine GPU die Spezifikationen für dieses Modell nicht erfüllt, muss sie sie entweder wegwerfen oder verwenden, um eine geringere Instanz dieser Grafikkarte zu erstellen, was sie Geld kostet. Die Stromverbrauchsspezifikation ist also die schlechteste, die sie zulassen werden. Die überwiegende Mehrheit der Karten wird niemals annähernd so viel verbrauchen.
David Schwartz