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>
サポート オプションの定義は次のとおりです。
オプション | 説明 |
---|---|
-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、*,* など) |
コマンド例
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 コンソールの例を示します。
-graphs
が指定されておらず、AI エンジン アプリケーションのすべてのグラフがターゲットとなっています。また、コマンドで指定したグラフに対応するすべての AI エンジン タイルのステータス レジスタが返されるため、注意が必要です。
Vitis IDE で JSON ファイルを開く
- Vitis IDE を起動し、Import Xbutil/Xsdb JSON output をクリックします。
- ダイアログ ボックスで、.json ファイルと、生成する AI Engine Compile
Summary ファイルおよび Run Summary ファイルを指定します。図 2. Xbutil/Xsdb JSON 出力のインポート
-
OK をクリックすると、新しいサマリ ファイルが現在の作業ディレクトリに生成されます。次のように、[Analysis] ビューでサマリ ファイルを開きます。 図 3. [Summary] ビュー
Graph または Array のビューに移動し、AI エンジン タイルのステータスを確認できます。次の図に、停止している AI エンジン タイルのステータスを示します。
この aie_status.run_summary ファイルは、Vitis IDE でステータス結果を表示し、解析するために使用できます。
または、次に示すように -run-summary
オプションを指定して aiestatus
コマンドを実行することもできます。
aiestatus examine -work-dir ./Work -graphs dut -run-summary
このコマンドで aie_status.run_summary ファイルおよび .json ファイルが生成され、これらファイルは IDE で開くことができます。
-work-dir
オプションおよび -run-summary
オプションを使用すると、Vitis IDE でサマリ ファイルをシームレスに開き、解析できます。