Vitis IDE では、自動生成された AI エンジン ステータス出力を、次のように解析できます。
- 次のコマンドを使用して、実行サマリ ファイル
xrt.run_summary
を開きます。vitis -a xrt.run_summary
-
AI エンジンのコンパイル/作業ディレクトリを設定するには、サマリ ビューで Set Compile
Directory をクリックします。
- 表示されたダイアログ ボックスで ... ボタンをクリックし、
./Work/graph.aiecompile_summary
などの AI エンジン コンパイル サマリ ファイルを選択します。IDE にサマリ データが表示されます。
-
Graph または Array をクリックすると、サマリ データを任意に表示させることができます。すべてのストールは赤で表示されます。
-
サマリ データの下部から、AI エンジン ステータスに関連する次のようなビューにアクセスできます。
- Tile Status
- ストリーム、カスケード、ロック ストールを含む AI エンジン ステータスを表示します。次の列があります。
- PC: 現在の PC の状態を示します。クリックすると、ソース コードにクロスプローブできます。
-
Status: AI エンジンのステータスを示します。次のステータスがあります。
- Done
- すべて終了。
- Memory Stall - South
- AI エンジンが AI エンジンの下にあるメモリにアクセスしているときにストール。AI エンジンとバッファーの物理的な配置は、Array ビューを参照してください。
- Memory Stall - West
- AI エンジンが AI エンジンの左にあるメモリにアクセスしているときにストール。
- Memory Stall - North
- AI エンジンが AI エンジンの上にあるメモリにアクセスしているときにストール。
- Memory Stall - East
- AI エンジンが AI エンジンの右にあるメモリにアクセスしているときにストール。
- Lock Stall - South
- AI エンジンが AI エンジンの下にあるバッファーのロックを取得しているときにストール。
- Lock Stall - West
- AI エンジンが AI エンジンの左にあるバッファーのロックを取得しているときにストール。
- Lock Stall - North
- AI エンジンが AI エンジンの上にあるバッファーのロックを取得しているときにストール。
- Lock Stall - East
- AI エンジンが AI エンジンの右にあるバッファーのロックを取得しているときにストール。
- Stream Stall - Input Ch 0
- AI エンジンがストリーム入力チャネル 0 を介して読み出しているときにストール。
- Stream Stall - Input Ch 1
- AI エンジンがストリーム入力チャネル 1 を介して読み出しているときにストール。
- Stream Stall - Output Ch 0
- AI エンジンがストリーム出力チャネル 0 を介して書き込んでいるときにストール。
- Stream Stall - Output Ch 1
- AI エンジンがストリーム出力チャネル 1 を介して書き込んでいるときにストール。
- Cascade Stall - Input
- AI エンジンがカスケード入力ストリームから読み出しているときにストール。
- Cascade Stall - Output
- AI エンジンがカスケード出力ストリームに書き込んでいるときにストール。
- Debug Halt
- デバッグ モードをイネーブルにしたことにより AI エンジンがストール。
- ECC Error Stall
- ECC エラーが発生したために AI エンジンがストール。
- ECC Scrubbing Stall
- ECC スクラビング エラーが発生したために AI エンジンがストール。
- Error Halt
- エラーが発生したために AI エンジンがストール。
- Enabled
- AI エンジンがイネーブル。
- Reset
- リセット状態。
図 1. Graph ビューのストールおよびステータス
- DMA Status
- デザインのメモリ モジュール DMA チャネル ステータスを示します。これは、アプリケーションのデータ移動とは非同期の内部 DMA チャネル制御ステート マシンであり、チャネルがアイドル状態であるかどうかを判断するためには使用できません。
- Error Events
- ステータスが生成される前に発生したエラー イベントを示します。詳細は、表 4、表 1、および 表 2 を参照してください。
- Buffers
- デザインのバッファー オブジェクトと現在のステータスを示します。次の列に注目します。
-
Lock Status: バッファー オブジェクトのロック ステータスを示します。
- Acquired for read: コンシューマー カーネルがバッファーを読み出し用に取得。
- Released for read: プロデューサー カーネルがバッファーを読み出し用に解放。
- Acquired for write: プロデューサー カーネルがバッファーを書き込み用に取得。
- Released for write: コンシューマー カーネルがバッファーを書き込み用に解放。
-
Lock Status: バッファー オブジェクトのロック ステータスを示します。
図 2. バッファーのロック ステータス
ヒント:
Graph ビューでオブジェクトの上にカーソルを置きます。オブジェクトの詳細が表示されます。