nvidia-smi GPU-Leistung zu Messen macht keinen Sinn
Ich bin mit Nvidia GTX Titan X zu tun, deep-learning-experiment.
Ich bin mit nvidia-smi überwacht den GPU-Status "wird ausgeführt", aber die perf(ormance) Zustand ist das tool nicht sinnvoll.
Ich check out der nvidia-smi-Handbuch, es sagt der folgende:
Performance-Status
Den aktuellen performance-Zustand für die GPU. Staaten reichen von P0 (maximale Leistung) bis P12 (minimale Leistung).
Ohne ausführen eines Prozesses auf der GPU(idle-Zustand),die GPU Leistung ist p0.
Jedoch, wenn Sie einige Berechnung schweren Prozess, der Staat wurde p2.
Meine Frage ist, warum mein GPU ist an P0-Zustand auf idle, aber Schalter P2 bei der Laufenden Berechnung der Aufgabe? Sollte es nicht das Gegenteil sein?
Außerdem ist es ein Weg, um meine GPU immer im P0-state(maximale Leistung)?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es verwirrend.
Den nvidia-smi-Handbuch korrekt ist, jedoch.
Wenn eine GPU oder eine Reihe von GPUs im Leerlauf sind, den Prozess der Laufenden
nvidia-smi
auf eine Maschine bringen in der Regel eine dieser GPUs aus dem Ruhezustand. Dies ist aufgrund der Informationen, die das tool sammelt - es muss aufwachen, eine der GPUs.Diese wake-up-Prozess zunächst bringen die GPU-P0-state (höchste perf Zustand), aber die GPU-Treiber überwachen, die GPU, und schließlich beginnen zu reduzieren, die performance-Status, um Energie zu sparen, wenn die GPU im Leerlauf ist oder nicht besonders beschäftigt.
Auf der anderen Seite, wenn die GPUs aktiv sind, mit einem workload, der GPU-Treiber, der nach eigener Heuristik, kontinuierlich anzupassen, die Leistung zu liefern die beste performance, während passend zu den performance-Status der tatsächlichen Arbeitsbelastung. Wenn keine thermische oder Leistungsgrenzen erreicht sind, ist die perf Zustand sollte erreicht sein höchstes Niveau (P0) für die meisten aktiven und schwerste, ununterbrochene workloads.
Workloads, die in regelmäßigen Abständen schwere, aber nicht kontinuierlich, können die GPU-power Zustand schwanken, um das Niveau P0-P2. GPUs sind "gedrosselt" durch die thermische (Temperatur) oder power-Probleme können auch sehen, reduziert die P-states. Diese Art von Drosselung wird deutlich und separat auf der nvidia-smi, aber diese Art der Berichterstattung kann nicht aktiviert werden, die für alle GPU-Typen.
Wenn Sie sehen möchten der P0-Zustand auf die GPU, ist der beste Rat, den ich anbieten kann, um eine kleine, schwere, kontinuierliche Arbeit (etwas, das eine große sgemm Betrieb, zum Beispiel), und überwachen Sie dann die GPU bei, die Arbeitsbelastung. Es sollte möglich sein zu sehen, P0-Zustand in dieser situation.
Wenn Sie eine machine-learning-Anwendung (z.B. Caffe), der mit den cuDNN Bibliothek, und Sie sind Schulungen ein großes Netzwerk, sollte es möglich sein zu sehen, P0 von Zeit zu Zeit, weil cuDNN übernimmt Vorgänge, die so etwas wie sgemm in diesem Szenario in der Regel.
Aber für einen sporadischen Arbeitsbelastung, es ist durchaus möglich, dass die am häufigsten beobachteten Zustand wäre P2.
Zu "zwingen" ein P0 power state immer, können Sie versuchen, das Experimentieren mit dem persistenzmodus und Anwendungen, die Uhren über die
nvidia-smi
tool. Verwendennvidia-smi --help
oder die man-Seite für nvidia-smi zu verstehen, die Optionen.Obwohl ich nicht glaube, dies wird in der Regel gelten für Tesla GPUs, einige NVIDIA-Grafikkarten beschränken sich auf eine P2-macht-Staat unter compute load , es sei denn Anwendung Uhren sind explizit höher setzen. Verwenden Sie die
nvidia-smi -a
Befehl, um die aktuelle Anwendung in den Uhren, die Standard-Anwendung-Uhren, und die Max-Uhren zur Verfügung für Ihre GPU. (Einige GPUs, darunter auch ältere GPUs anzeigen "N/A" für einige dieser Felder. Das gibt im Allgemeinen die Anwendungen, die Uhren sind nicht modifizierbar übernvidia-smi
.) Wenn Sie eine Karte scheint zu laufen bei den P2-Status während des compute-laden, Sie können in der Lage sein, um Sie zu erhöhen, um P0-Zustand durch die Erhöhung der Anwendungs-Uhren, um die maximal verfügbare (d.h. Max Uhren). Verwendennvidia-smi --help
zu lernen, wie man format den Befehl zum ändern der Anwendung, die Uhren auf die GPU. Ändern von Anwendungs-Uhren, oder die Aktivierung änderbar Anwendung Uhren, die erfordern root - /admin-Rechte. Es kann auch wünschenswert oder erforderlich um die GPU-Persistenz-Modus. Dies verhindert, dass der Fahrer von "entladen" in Zeiten von GPU-Aktivität, die möglicherweise die Anwendung, die Uhren zurückgesetzt werden, wenn der Treiber neu geladen.Dieses standardmäßige Verhalten für die betroffenen Karten in dieser situation, die Begrenzung auf P2 unter compute load, ist von design von der GPU-Treiber.
Diese etwas Verwandte Frage/Antwort-kann auch von Interesse sein.