Инструмент просмотра графиков
Вы можете использовать Graph Viewer для визуализации структуры графа вашей программы XLA. Он отображает график операций высокого уровня (HLO).
Поддерживаемые платформы
ТПУ: поддерживается
Графический процессор: поддерживается
Компоненты интерфейса
Просмотром графиков можно управлять с помощью следующих опций:
Раскрывающееся меню «Выбрать модуль XLA», в котором вы выбираете модуль HLO из доступного списка для визуализации.
Поле «Имя операции», в котором вы вводите имя операции, чтобы выбрать ее в качестве основного узла и визуализировать ее соседей. Нажатие Enter после ввода имени операции позволит визуализировать окружающие узлы.
Селектор ширины графика, который управляет максимальным расстоянием узлов от основного узла, включенного в визуализацию.
Селектор метаданных, который вы используете для переключения отображения метаданных операции, включенных компилятором, если таковые имеются. Обратите внимание, что после установки этого флажка вам нужно еще раз нажать «Поиск по графику».
Флажок «Объединить Fusion», который можно использовать, чтобы свернуть или развернуть компоненты Fused Ops. Обратите внимание, что после установки этого флажка вам нужно будет еще раз нажать «Поиск по графику».
Кнопки или клавиши увеличения/уменьшения масштаба, хотя для масштабирования можно также использовать мышь.
Ссылки для загрузки графика в формате SVG или точечных файлов.
Используя функцию поиска, вы можете быстро найти конкретные операции на потенциально большом графике и сосредоточиться на них.
Чтобы заморозить панель данных времени выполнения для конкретной операции, щелкните ее правой кнопкой мыши.
Использование средства просмотра графиков
По умолчанию в Graph Viewer не выбраны никакие операции, поэтому вы увидите пустой экран. Найдите интересующую операцию, чтобы увеличить ее масштаб и начать перемещение по графику. Часто вы начинаете с одного из других инструментов (скажем, Op Profile, чтобы определить наиболее трудоемкую операцию, или Trace Viewer, чтобы определить причину «пузыря» конвейера). Нажав на операцию в этих инструментах, вы получите прямую ссылку на ту же операцию в Graph Viewer.
Наведя курсор на поле (представляющее операцию HLO), вы часто можете увидеть строку вашего пользовательского кода, соответствующую операции, в которой была определена функция. Эта информация доступна только в том случае, если эти метаданные передаются в XProf через несколько уровней преобразования , которым подвергается ваша программа Python на пути к созданию исполняемого файла ускорителя.
Обратите внимание, что профилировщик получает информацию уровня HLO из «оптимизированного графика HLO», близкого к точке, где он готов к понижению до кода, специфичного для ускорителя, серверной частью компилятора. Поэтому Graph Viewer, как и все инструменты XProf, обрабатывает это низкоуровневое внутреннее представление HLO в XLA, а не StableHLO или представление, близкое к структуре ML.
Хотя сам график является чисто статическим и извлекается напрямую из XLA, даже без выполнения программы, Graph Viewer накладывает на график дополнительную информацию времени выполнения, чтобы сделать его более полезным. Например, при наведении курсора на операцию в левой части пользовательского интерфейса открывается раздел, в котором указано, сколько раз эта операция выполнялась за период профиля и каково было среднее время выполнения. Он также вычисляет и отображает различные показатели использования и пропускной способности; они берут статический анализ стоимости из XLA для FLOPS и потребляемых байтов и вычисляют скорость на основе измеренного времени выполнения.