グラフ ビューア ツール

Graph Viewer を使用すると、XLA プログラムのグラフ構造を可視化できます。High Level Operations(HLO)グラフが表示されます。

サポートされているプラットフォーム

TPU: サポート対象

GPU: サポートされている

インターフェース コンポーネント

グラフ ビューアは、次のオプションで制御できます。

  1. [XLA モジュールを選択] プルダウン メニュー。可視化に使用できるリストから HLO モジュールを選択します。

  2. [Op Name] ボックス: プライマリ ノードとして選択し、そのネイバーを可視化するためにオペレーションの名前を入力します。op 名を入力した後に Enter キーを押すと、周囲のノードが可視化されます。

  3. グラフの幅セレクタ: 可視化に含まれるプライマリ ノードからのノードの最大距離を制御します。

  4. メタデータ セレクタ。コンパイラによって含まれるオペレーション メタデータの表示を切り替えるために使用します(存在する場合)。このチェックボックスをオンにしたら、もう一度 [グラフを検索] をクリックする必要があります。

  5. 統合オペレーションのコンポーネントを閉じたり開いたりするために使用できる [Merge Fusion] チェックボックス。このチェックボックスを切り替えた後、もう一度 [グラフを検索] をクリックする必要があります。

  6. ズームイン/ズームアウト ボタンまたはキー。マウスでズームすることもできます。

  7. グラフを SVG ファイルまたはドットファイルとしてダウンロードするためのリンク。

  8. 検索機能を使用すると、サイズが大きいグラフ内の特定のオペレーションをすばやく見つけることができます。

  9. 特定のオペレーションでランタイム データパネルをフリーズするには、オペレーションを右クリックします。

グラフビューアの使用

デフォルトでは、グラフビューアではオペレーションが選択されていないため、空の画面が表示されます。目的のオペレーションを検索してズームインし、グラフの走査を開始します。多くの場合、他のツール(Op Profile を使用して最も時間のかかるオペレーションを特定する、Trace Viewer を使用してパイプライン バブルの原因を特定するなど)から始めます。これらのツールでオペレーションをクリックすると、グラフ ビューア内の同じオペレーションに直接リンクされます。

ボックス(HLO オペレーションを表す)にカーソルを合わせると、関数が定義されているオペレーションに対応するユーザーコードの行が表示されることがあります。この情報は、アクセラレータ実行可能ファイルを生成する際に Python プログラムが行う複数のレイヤの変換を通じて、このメタデータが XProf に提供されている場合にのみ利用できます。

プロファイラは、「最適化された HLO」グラフから HLO レベルの情報を受け取ります。このグラフは、コンパイラ バックエンドでアクセラレータ固有のコードにダウンコンバートされる直前のポイントに近い場所にあります。そのため、Graph Viewer を含むすべての XProf ツールは、StableHLO や ML フレームワークに近い表現ではなく、この低レベルの XLA 内部 HLO 表現を処理します。

グラフ自体は純粋に静的で、プログラムを実行しなくても XLA から直接取得されますが、グラフ ビューアでは、グラフに追加のランタイム情報をオーバーレイして、より有用なものにしています。たとえば、オペレーションにカーソルを合わせると、UI の左側に、プロファイル期間中にそのオペレーションが実行された回数と平均実行時間が示されます。また、さまざまな使用率と帯域幅の数値を計算して表示します。これらの数値は、消費される FLOPS とバイトについて XLA の静的費用分析を取り、測定された実行時間に基づいてレートを計算します。