Tool zum Erstellen von Speicherprofilen

Mit dem Arbeitsspeicherprofil können Sie die Speichernutzung Ihrer Accelerators im Zeitverlauf visualisieren.

Unterstützte Plattformen

TPU: Unterstützt

GPU: Unterstützt

Arbeitsspeicher-Profilierungstool verwenden

Das Arbeitsspeicherprofil umfasst die folgenden Komponenten:

  • Mit der Auswahl für die Speicher-ID oben auf der Seite können Sie sich auf den High Bandwidth Memory (HBM) konzentrieren, der mit einem der verschiedenen Beschleuniger verbunden ist, die mit dem zu profilierenden Host verbunden sein können, oder in bestimmten Fällen sogar auf den Hostspeicher.
  • Die Grafik „Zeitachse für Arbeitsspeicher“ und die Zusammenfassung des Arbeitsspeicherprofils enthalten allgemeine Informationen zu Arbeitsspeicherzuweisungen, -entnahmen und -nutzung während der Profilierungssitzung, einschließlich Aufschlüsselungen nach Stack und Heap sowie etwaigen Auswirkungen der Fragmentierung.
  • Die Tabelle zur Speicheraufschlüsselung enthält Informationen zu den Vorgängen auf Frameworkebene, die am stärksten zur Speichernutzung beitragen. Es gibt auch zusätzliche Details pro Vorgang, z. B. Form, Datentyp usw., sofern diese Informationen vom Compiler für XProf verfügbar gemacht werden. Die Tabelle enthält diese Details zum Zeitpunkt der Spitzennutzung im Analysezeitraum, um beim Beheben von Problemen mit unzureichendem Arbeitsspeicher zu helfen.
  • Zuweisungen und Deaktivierungen werden vom XLA-Laufzeit-Allocator verwaltet (und dem Profil hinzugefügt), der für den gesamten HBM-Speicherplatz verantwortlich ist.
  • Das Arbeitsspeicherprofil ist in der Regel für das GPU-Profiling interessanter und wertvoller als für TPU-Arbeitslasten. Das TPU-Ausführungsmodell umfasst in der Regel eine große Vorabzuweisung durch den XLA-Compiler, nicht während des Modelltrainings oder der Inferenz. Daher sehen Sie häufig, dass das Zuordnungsdiagramm wie eine flache horizontale Linie aussieht. Die Zuordnungen erfolgten wahrscheinlich am Anfang des Profils (wenn der Profiler zu diesem Zeitpunkt aktiv war), sodass sie schwer zu erkennen sind.
  • Anhand des Fragmentierungsmesswerts in der Zusammenfassung des Arbeitsspeicherprofils und des Arbeitsspeicher-Zeitverlaufsdiagramms (in Prozent) können Probleme mit der Speicherfragmentierung identifiziert werden. Ein hoher Fragmentierungswert gibt an, dass zwar insgesamt genügend kostenloser Arbeitsspeicher vorhanden ist, dieser aber nicht zusammenhängend ist. Daher kann eine große Zuweisungsanfrage fehlschlagen.

Einige wichtige Unterschiede zwischen diesem Tool und dem Tool „Memory Viewer“:

  • Der Memory Viewer ist rein statisch und konzentriert sich auf die Programmreihenfolge. Das Arbeitsspeicherprofil bietet eine dynamische Ansicht im Zeitverlauf während des Profilerstellungszeitraums.
  • Der Memory Viewer visualisiert die Speicherzuweisungen pro XLA-Modul. Bei Arbeitslasten, die aus mehreren XLA-Modulen bestehen, bietet das Speicherprofil eine globale Ansicht des Arbeitsspeichers.