XProf: Анализ производительности ускорителя

XProf — это инструмент профилирования и анализа производительности для машинного обучения.

Функции

  • Высококачественная профильная информация, основанная на аппаратных событиях и счетчиках, а также метаданных компилятора.
  • Низкие накладные расходы на сбор данных, обычно <1% на TPU и <5% на GPU в течение периода профилирования.
  • Широкий набор инструментов, обеспечивающий глубокое понимание вашей рабочей нагрузки:
    • Страница обзора : просмотрите обобщенное представление верхнего уровня о том, как работала ваша модель во время выполнения профиля, включая то, насколько эффективно она использовала аппаратные ресурсы.
    • Trace Viewer : визуализирует подробную временную шкалу произошедших событий и то, какая часть системы их выполнила (например, CPU, TPU или GPU).
    • Graph Viewer : Визуализируйте структуру графа вашей программы XLA. Отображает график операций высокого уровня (HLO).
    • Средство просмотра памяти : визуализируйте использование памяти в течение жизненного цикла программы и просматривайте детали содержимого памяти в момент пикового использования памяти.
    • Профиль памяти : визуализируйте динамическое использование памяти ваших ускорителей во время выполнения вашей программы.
    • Профиль операций HLO : понимание производительности оборудования для различных категорий операций высокого уровня (HLO), выполняемых вашей программой.
    • Статистика операций HLO : просматривайте статистику производительности операций высокоуровневой оптимизатора (HLO), выполняемых вашей программой, и выявляйте наиболее трудоемкие операции в вашем графике HLO.
    • Статистика операций фреймворка : просмотр статистики производительности операций на уровне фреймворка (например, JAX, TensorFlow или PyTorch/XLA), выполняемых на хосте и ускорителе.
    • Анализ производительности : просмотрите интуитивно понятную визуальную модель производительности, которая показывает присущие аппаратные ограничения, влияющие на производительность вашей программы, указывая, ограничена ли она памятью или вычислительными возможностями.
    • Статистика Megascale : анализ производительности межсрезовой связи рабочих нагрузок, охватывающих несколько срезов TPU, которые взаимодействуют через сеть центров обработки данных (DCN).
    • Статистика ядра графического процессора : просматривайте статистику производительности и исходную операцию фреймворка для каждого ядра, ускоренного графическим процессором, в вашей программе.

Начиная

Инструкции по установке см. в кратком руководстве XProf .

Если вы используете Google Cloud для запуска рабочих нагрузок, мы рекомендуем инструмент xprofiler . Он обеспечивает оптимизированный сбор и просмотр профилей с использованием виртуальных машин, работающих под управлением XProf.

Чтобы быстро ознакомиться с возможностями XProf, попробуйте демонстрационный блокнот .

Интеграция Tensorboard

Исторически единственным способом установки и использования XProf было использование Tensorboard. Это называлось профилем плагина tensorboard ; в некоторых старых документах этот термин все еще может использоваться. Эта интеграция теперь необязательна: вы можете думать о Tensorboard как о контейнере для набора инструментов XProf, который также может быть установлен и использован автономно, с идентичным поведением.