Инструмент профиля памяти

Вы можете использовать профиль памяти, чтобы визуализировать использование памяти вашими ускорителями с течением времени.

Поддерживаемые платформы

ТПУ: Поддерживается

Графический процессор: поддерживается

Использование инструмента профиля памяти

Профиль памяти состоит из следующих компонентов:

  • Селектор идентификатора памяти в верхней части страницы позволяет вам сосредоточиться на памяти с высокой пропускной способностью (HBM), подключенной к одному из различных ускорителей, которые могут быть подключены к профилируемому хосту или даже к памяти хоста в некоторых случаях.
  • «График временной шкалы памяти» и «Сводка профиля памяти» собирают высокоуровневую информацию о выделении, освобождении и использовании памяти во время сеанса профилирования, включая разбивку по стеку и куче, а также любое влияние фрагментации.
  • Таблица разбивки памяти предоставляет информацию об операциях уровня платформы, которые больше всего влияют на использование памяти. Существуют также дополнительные сведения о каждой операции, такие как форма, тип данных и т. д., если эта информация предоставляется компилятором XProf. В таблице показаны эти сведения в момент пикового использования в окне профилирования, чтобы помочь в отладке ситуаций нехватки памяти (OOM).
  • Выделение и освобождение управляются (и добавляются в профиль) распределителем времени выполнения XLA, которому принадлежит все пространство памяти HBM.
  • Обратите внимание, что профиль памяти обычно более интересен и ценен для профилирования графического процессора, чем для рабочих нагрузок TPU. Модель выполнения TPU обычно включает в себя большое предварительное выделение компилятором XLA, а не во время обучения модели или вывода. Поэтому вы часто будете видеть, что диаграмма распределения выглядит как плоская горизонтальная линия; все распределения, вероятно, произошли в самом начале профиля (если профилировщик был активен к этому моменту выполнения), что затрудняет их просмотр.
  • Метрика фрагментации в сводке профиля памяти и графике временной шкалы памяти (в процентах) помогают выявить проблемы фрагментации памяти. Высокое значение фрагментации указывает на то, что, хотя общей свободной памяти может быть достаточно, она не является непрерывной, и поэтому большой запрос на выделение может завершиться неудачно.

Некоторые ключевые различия между этим инструментом и инструментом Memory Viewer:

  • Средство просмотра памяти является чисто статическим и ориентировано на порядок выполнения программ; Профиль памяти обеспечивает динамическое представление во времени в течение интервала профилирования.
  • Средство просмотра памяти визуализирует распределение памяти для каждого модуля XLA; для рабочих нагрузок, состоящих из нескольких модулей XLA, профиль памяти обеспечивает глобальное представление памяти.