Инструмент статистики операций Framework

Вы можете использовать Framework Op Stats для просмотра статистики производительности операций уровня фреймворка (например, JAX или TensorFlow), выполняемых на хосте и ускорителе во время сеанса профилирования. Этот инструмент полезен для выявления потенциальных целей оптимизации производительности, выделяя наиболее трудоёмкие операции за профилируемый период.

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

Поддерживаются как TPU, так и GPU.

Компоненты операционной статистики Framework

Framework Op Stats имеет следующие ключевые компоненты:

  • Таблица статистики операций фреймворка: это основной компонент, представляющий подробную разбивку каждой операции фреймворка, выполненной во время сеанса профилирования, в табличном формате. Для каждой отдельной операции фреймворка отведена отдельная строка, а столбцы содержат различную информацию об этой операции.

    • Поля поиска позволяют фильтровать по хосту/устройству, типу операции или названию операции; фильтры выбирают указанную строку, которая появляется в любом месте соответствующего столбца.

    Таблица статистики операций фреймворка

  • Раздел сводных диаграмм: В этом разделе приведены диаграммы, которые обобщают подробную таблицу по операциям следующим образом:

    • Пара круговых диаграмм (одна для ускорителя и одна для хоста), которые показывают долю времени, затраченного на различные категории операций фреймворка.
    • Круговая диаграмма, показывающая долю времени, затраченного на выполнение различных отдельных операций фреймворка (с опущенными N первыми операциями, а остальные классифицированы как «Другие» для удобства чтения)

    Круговые диаграммы статистики операций фреймворка

  • Раздел сводных таблиц: В этом разделе есть пара таблиц (одна для ускорителя и одна для хоста) с количеством событий и общим затраченным временем (как в абсолютном выражении, так и в виде доли от общего времени сеанса) по различным категориям операций фреймворка.

  • Раскрывающийся список позволяет вам решить, следует ли включать время простоя в круговые диаграммы и сводные таблицы.

    Сводные таблицы статистики операций Framework

Подробности таблицы статистики операций фреймворка

Вы можете нажать на любой заголовок столбца, чтобы отсортировать таблицу статистики операций фреймворка. Порядок по умолчанию основан на общем времени выполнения операции (также обозначенном в таблице как «ранг»).

Таблица содержит следующую информацию по каждой операции:

  • Место выполнения операции: выполняется ли операция на хосте или устройстве.
  • Тип операции фреймворка: они выводятся непосредственно из строки имени операции (последняя часть стека вызовов) для облегчения сортировки.
  • Имя операции фреймворка: оно выводится из метаданных уровня фреймворка, переданных XLA в XProf.
  • Количество событий: общее количество раз, когда данная операция фреймворка была выполнена в течение периода профилирования.
  • Общее время (мкс): совокупное время, затраченное на выполнение данной операции во всех её повторениях. Если у этой операции есть дочерние операции, это время включает время, затраченное на эти дочерние операции.
  • Среднее время (мкс): среднее время на выполнение этой операции, включая время, затраченное на дочерние операции, если таковые имеются.
  • Общее собственное время (мкс): совокупное время, проведенное исключительно в теле этой операции HLO, за исключением времени, проведенного в ее дочерних операциях.
  • Среднее собственное время (мкс): среднее время на выполнение данной операции, исключая время, затраченное на дочерние операции.
  • Общее время, проведенное оператором на устройстве (%): личное время оператора в процентах от общего времени, проведенного оператором на устройстве по всем операциям.
  • Общее совокупное время, проведенное за устройством (%): текущая сумма общего времени, проведенного за устройством (%) для всех операций, которые появляются ранее в текущем отсортированном порядке.
  • Общее время, проведенное оператором на хосте (%): собственное время оператора в процентах от общего времени, проведенного на хосте по всем операторам.
  • Общее накопленное время самостоятельной работы на хосте (%): текущая сумма общего времени самостоятельной работы (%) для всех операций, которые появляются ранее в текущем отсортированном порядке.

Вы можете использовать кнопку «Экспортировать как CSV» в правой части верхней панели, чтобы экспортировать данные из этой таблицы в виде CSV-файла, а также использовать флажок «Удобная печать» для более удобного представления.

Возможность экспорта статистики операций Framework в CSV