ハードウェアでのイベント トレースのトラブルシューティング - 2023.2 日本語

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

Document ID
UG1076
Release Date
2023-12-04
Version
2023.2 日本語
表 1. ハードウェアでのイベント トレースのトラブルシューティング
問題 回避策
特定のストリームでトレース パケットが欠落する。(Vitis IDE でイベント トレース ストリームの黒いバーで確認可能)。 オプション 1: ビルド時に次のオプションを使用して、AI エンジンから送信されるトレース ストリームの数を増加します。
aiecompiler --num-trace-streams=<N>

オプション 2: PLIO イベント トレース ストリームを使用する場合、128 ビット PLIO ストリーム幅を使用する aiecompiler フラグの -trace-plio-width=128 を使用します。これにより、PLIO のストリーム幅と AI エンジンのデータ レートが一致するようになります。

オプション 3: トレース ストリームごとに接続されるタイルの数を減らします。特定のグラフまたはタイルに適用する AI エンジンのイベント トレース メトリクスを設定できます。これらオプションの詳細は、表 1 および 表 1 を参照してください。

オプション 4: aiecompiler は、タイルごとにトレース ストリームを水平方向に割り当てます。最適なトレース ネット配線にするには、ロケーション制約を使用して AI エンジンができるだけ垂直方向に配置されるようにし、すべてのアクティブな AI エンジンが均等にトレース ストリームに分散されるようにしてください。

カーネル関数名がトレースから見えない。 これは、カーネルがコンパイラまたは属性によってインライン展開されているからである可能性があります。--xlopt=0 を適用してデザインをコンパイルするか、またはカーネル関数を __attribute__((noinline)) 属性を使用してを指定してカーネルのインライン展開をディスエーブルにします。
カーネルの開始時間が 100 サイクル以上ずれている。 コンパイラに --broadcast-enable-core=true オプションを適用し、デザインですべてのカーネルが数クロックサイクル以内に起動するようにします。
ツールによりトレース バッファーがフルであることを示す警告メッセージが表示される。 イベント トレース バッファー サイズを増加します。
XSDB フローでは、AI エンジン トレース開始コマンドに -depth オプションを指定して大きい値を指定します。
%xsdb aietrace start -graph-based-aie-tile-metrics dut:all:functions_all_stalls -work-dir ./Work -link-summary ./bf_hw.xsa.xclbin.link_summary -base-address 0x900000000 -depth 0x8000000
XRT フローでは、 xrt.ini ファイルと aie_trace_buffer_size 行をアップデートします。
[Debug]
aie_trace=true

[AIE_trace_settings]
buffer_size=100M
graph_based_aie_tile_metrics = dut:all:functions_all_stalls
注記: トレース バッファーがフルになると、XSDB と XRT の両方で次の警告メッセージが表示されます。

警告メッセージ:

AI エンジン Trace Buffer size is full, Device trace could be incomplete.
また、表 1 および表 1 で説明するトレース オプション -start-type を使用して、時間、反復、またはユーザー定義イベントに基づいてイベント トレースの開始を遅らせることもできます。
AI エンジンとの間でデータが正しく送受信されているかを知る必要がある。 PL カーネルとそれらのメモリ マップド AXI4 マスターにモニターを追加します。

アクセラレーション モニターおよび AXI パフォーマンス モニターの追加の詳細は、 『Vitis 統合ソフトウェア プラットフォーム資料: アプリケーション アクセラレーション開発』 (UG1393)タイムライン トレースの生成と表示を参照してください。