XProf ist ein Profilierungs- und Leistungsanalysetool für maschinelles Lernen.
Funktionen
- Hochwertige Profilinformationen basierend auf Hardwareereignissen und ‑zählern sowie Compiler-Metadaten.
- Geringer Erfassungs-Overhead, in der Regel <1% auf TPUs und <5% auf GPUs während des Profilerstellungszeitraums.
- Umfassende Suite von Tools, die ein tiefes Verständnis Ihrer Arbeitslast ermöglichen:
- Übersichtsseite: Hier sehen Sie eine zusammengefasste Übersicht über die Leistung Ihres Modells während eines Profiler-Laufs, einschließlich der Nutzung von Hardwareressourcen.
- Trace Viewer: Visualisiert eine detaillierte Zeitachse der Ereignisse, die aufgetreten sind, und des Teils des Systems, der sie ausgeführt hat (z.B. CPU, TPU oder GPU).
- Graph Viewer: Visualisiert die Diagrammstruktur Ihres XLA-Programms. Darin wird das HLO-Diagramm (High Level Operations) angezeigt.
- Memory Viewer: Visualisieren Sie die Speichernutzung über die Laufzeit des Programms hinweg und sehen Sie sich die Details des Speichers bei maximaler Speichernutzung an.
- Memory Profile (Speicherprofil): Visualisieren Sie die dynamische Speicherauslastung Ihrer Beschleuniger während der Ausführung Ihres Programms.
- HLO-Operationsprofil: Hier können Sie die Hardwareleistung für verschiedene Kategorien von HLO-Operationen (High Level Operation) nachvollziehen, die von Ihrem Programm ausgeführt werden.
- HLO-Operationsstatistiken: Hier sehen Sie die Leistungsstatistiken der High-Level-Optimizer-(HLO-)Operationen, die von Ihrem Programm ausgeführt werden, und können die zeitaufwendigsten Operationen in Ihrem HLO-Diagramm ermitteln.
- Framework Op Stats (Statistiken zu Framework-Vorgängen): Hier sehen Sie die Leistungsstatistiken von Vorgängen auf Framework-Ebene (z.B. JAX, TensorFlow oder PyTorch/XLA) ausgeführt werden.
- Roofline-Analyse: Sehen Sie sich ein intuitives visuelles Leistungsmodell an, das die Hardwarebeschränkungen aufzeigt, die sich auf die Leistung Ihres Programms auswirken. So können Sie erkennen, ob es speicher- oder rechengebunden ist.
- Megascale-Statistiken: Analysieren Sie die Leistung der Kommunikation zwischen Slices von Arbeitslasten, die sich über mehrere TPU-Slices erstrecken und über das Data Center Network (DCN) kommunizieren.
- GPU Kernel Stats (GPU-Kernel-Statistiken): Hier sehen Sie Leistungsstatistiken und den ursprünglichen Framework-Vorgang für jeden GPU-beschleunigten Kernel in Ihrem Programm.
Erste Schritte
Eine Installationsanleitung finden Sie im XProf-Schnellstart.
Wenn Sie Google Cloud zum Ausführen Ihrer Arbeitslasten verwenden, empfehlen wir das xprofiler-Tool. Es bietet eine optimierte Profilerstellung und ‑ansicht mit VMs, auf denen XProf ausgeführt wird.
TensorBoard-Integration
Bisher war die einzige Möglichkeit, XProf zu installieren und zu verwenden, die Verwendung von Tensorboard. Das wurde als TensorBoard-Plug-in-Profil bezeichnet. In einigen älteren Dokumentationen wird dieser Begriff möglicherweise noch verwendet. Diese Integration ist jetzt optional. TensorBoard kann als Container für die XProf-Toolsuite betrachtet werden, die auch eigenständig installiert und verwendet werden kann.