グラフ ビューア ツール
Graph Viewer を使用すると、XLA プログラムのグラフ構造を可視化できます。High Level Operations(HLO)グラフが表示されます。
サポートされているプラットフォーム
TPU: サポート対象
GPU: サポートされている
インターフェース コンポーネント
グラフ ビューアは、次のオプションで制御できます。
[XLA モジュールを選択] プルダウン メニュー。可視化に使用できるリストから HLO モジュールを選択します。
[Op Name] ボックス: プライマリ ノードとして選択し、そのネイバーを可視化するためにオペレーションの名前を入力します。op 名を入力した後に Enter キーを押すと、周囲のノードが可視化されます。
グラフの幅セレクタ: 可視化に含まれるプライマリ ノードからのノードの最大距離を制御します。
メタデータ セレクタ。コンパイラによって含まれるオペレーション メタデータの表示を切り替えるために使用します(存在する場合)。このチェックボックスをオンにしたら、もう一度 [グラフを検索] をクリックする必要があります。
統合オペレーションのコンポーネントを閉じたり開いたりするために使用できる [Merge Fusion] チェックボックス。このチェックボックスを切り替えた後、もう一度 [グラフを検索] をクリックする必要があります。
ズームイン/ズームアウト ボタンまたはキー。マウスでズームすることもできます。
グラフを SVG ファイルまたはドットファイルとしてダウンロードするためのリンク。
検索機能を使用すると、サイズが大きいグラフ内の特定のオペレーションをすばやく見つけることができます。
特定のオペレーションでランタイム データパネルをフリーズするには、オペレーションを右クリックします。
グラフビューアの使用
デフォルトでは、グラフビューアではオペレーションが選択されていないため、空の画面が表示されます。目的のオペレーションを検索してズームインし、グラフの走査を開始します。多くの場合、他のツール(Op Profile を使用して最も時間のかかるオペレーションを特定する、Trace Viewer を使用してパイプライン バブルの原因を特定するなど)から始めます。これらのツールでオペレーションをクリックすると、グラフ ビューア内の同じオペレーションに直接リンクされます。
ボックス(HLO オペレーションを表す)にカーソルを合わせると、関数が定義されているオペレーションに対応するユーザーコードの行が表示されることがあります。この情報は、アクセラレータ実行可能ファイルを生成する際に Python プログラムが行う複数のレイヤの変換を通じて、このメタデータが XProf に提供されている場合にのみ利用できます。
プロファイラは、「最適化された HLO」グラフから HLO レベルの情報を受け取ります。このグラフは、コンパイラ バックエンドでアクセラレータ固有のコードにダウンコンバートされる直前のポイントに近い場所にあります。そのため、Graph Viewer を含むすべての XProf ツールは、StableHLO や ML フレームワークに近い表現ではなく、この低レベルの XLA 内部 HLO 表現を処理します。
グラフ自体は純粋に静的で、プログラムを実行しなくても XLA から直接取得されますが、グラフ ビューアでは、グラフに追加のランタイム情報をオーバーレイして、より有用なものにしています。たとえば、オペレーションにカーソルを合わせると、UI の左側に、プロファイル期間中にそのオペレーションが実行された回数と平均実行時間が示されます。また、さまざまな使用率と帯域幅の数値を計算して表示します。これらの数値は、消費される FLOPS とバイトについて XLA の静的費用分析を取り、測定された実行時間に基づいてレートを計算します。