XSDB を使用した AI エンジン ステータスの生成 - 2023.2 日本語

AI エンジン ツールおよびフロー ユーザー ガイド (UG1076)

Document ID
UG1076
Release Date
2023-12-04
Version
2023.2 日本語

Linux およびベアメタルの両方の OS で、XSDB を使用して AI エンジンのステータスを確認できます。この機能により、ボードがデッドロックやハング状態となっている場合、アプリケーションをデバッグして AI エンジンのステータスを検出できます。XRT を必要とする xbutil コマンドとは異なり、XSDB コマンドは XRT とは関係なく実行されます。

XSDB は aiestatus examine コマンドを使用し、.json ファイル形式で AI エンジン ステータスをレポートします。このコマンドは、アプリケーションの実行前、実行中、実行後に使用できます。

XSDB コマンド aiestatus examine およびオプションの詳細は、次に説明します。

コマンド

aiestatus examine

サポート オプション

aiestatus examine [-graphs] <graph-list> [-work-dir] <dir-path> [-aie-version] <version> [-file] <file-name> [-run-summary] [-target-name] <target-name> [-tiles] <tile-list>

サポート オプションの定義は次のとおりです。

表 1. サポート オプション
オプション 説明
-graphs AI エンジン アプリケーションで使用する 1 つまたは複数のグラフを指定します。このオプションを指定しない場合、デザインのすべてのグラフがターゲットとなります。
-work-dir AI エンジン プロジェクトの作業ディレクトリを指定します。このオプションは必須です。
-aie-version AI エンジン ハードウェアの世代を指定します。これには、Work/ps/c_rts/aie_control_config.json ファイルの hw_gen の値を使用します。
注記: 作業ディレクトリが提供されていない場合のみ必要です。デフォルト値は 1 です。
-file コマンドで生成される .json フォーマットの出力ファイルの名前を指定します。これのオプションは、必須ではありません。
-run-summary .json ファイルに加え、run サマリ ファイルを生成するオプションをイネーブルにします。これのオプションは、必須ではありません。
-target-name 接続するターゲットの名前を指定します。
注記: デフォルト ターゲットは Versal です。XSDB ターミナルで、connect コマンドの後に、targets を入力すると、利用可能な別のターゲットが表示されます。
-tiles AI エンジン アプリケーションで使用され、コマンドでモニターされる 1 つまたは複数のタイルを指定します。タイルのフォーマットは、col,row (0,0、0,1 など) です。行または列のすべてのタイルを指定する場合は、ワイルドカード * を使用します (0,*、*,1、*,* など)

コマンド例

次の 2 つの例に示すように、XSDB ターミナルで aie_status Tcl スクリプトを実行します。
xsdb% source $XILINX_VITIS/scripts/vitis/util/aie_status.tcl
例 1
グラフおよび作業ディレクトリを指定。
aiestatus examine -work-dir ./Work -graphs dut

この例では、dut というグラフのステータスを確認し、レポートしています。

例 2
タイルを指定。
aiestatus examine -tiles 10,2;5,*

この例では、タイル (10,2) と 5 列目のすべてのタイルのステータスを確認し、レポートしています。

上記のコマンドは、アプリケーションの実行前、実行中、実行後、ボードがデザインを実行している、あるいはデッドロックまたはハング状態となっている場合、いつでも実行できます。このコマンドにより、コマンドを実行したディレクトリに JSON ファイル <aie_status_<date_time>.json> が生成されます。ファイル名の例は、aie_status_2022_08_11_113542.json です。このファイルは AMD Vitis™ IDE で開くことができ、ステータスの確認や解析が可能です。アプリケーションを実行する前に AI エンジン タイルのステータス レジスタを読み出すには、ボード上でホスト アプリケーションを実行する前に aiestatus コマンドを実行します。

次に、aiestatus examine コマンド実行後の XSDB コンソールの例を示します。

図 1. XSDB コンソール
注記: 上記の XSDB コンソール例では、オプション -graphs が指定されておらず、AI エンジン アプリケーションのすべてのグラフがターゲットとなっています。

また、コマンドで指定したグラフに対応するすべての AI エンジン タイルのステータス レジスタが返されるため、注意が必要です。

Vitis IDE で JSON ファイルを開く

  1. Vitis IDE を起動し、Import Xbutil/Xsdb JSON output をクリックします。
  2. ダイアログ ボックスで、.json ファイルと、生成する AI Engine Compile Summary ファイルおよび Run Summary ファイルを指定します。
    図 2. Xbutil/Xsdb JSON 出力のインポート
  3. OK をクリックすると、新しいサマリ ファイルが現在の作業ディレクトリに生成されます。次のように、[Analysis] ビューでサマリ ファイルを開きます。
    図 3. [Summary] ビュー

Graph または Array のビューに移動し、AI エンジン タイルのステータスを確認できます。次の図に、停止している AI エンジン タイルのステータスを示します。

図 4. [Array] ビュー

この aie_status.run_summary ファイルは、Vitis IDE でステータス結果を表示し、解析するために使用できます。

または、次に示すように -run-summary オプションを指定して aiestatus コマンドを実行することもできます。

aiestatus examine -work-dir ./Work -graphs dut -run-summary

このコマンドで aie_status.run_summary ファイルおよび .json ファイルが生成され、これらファイルは IDE で開くことができます。