AI エンジンのデバッグ - 2023.2 日本語

Versal アダプティブ SoC システム統合および検証設計手法ガイド (UG1388)

Document ID
UG1388
Release Date
2023-11-15
Version
2023.2 日本語

AMD では、Versal AI エンジン プロセッサ上で動作するデザインをデバッグするためのさまざまなツールとフローを提供しています。機能デバッグから AI エンジン アルゴリズムのパフォーマンス問題のデバッグまで、AI エンジン アプリケーションの開発のさまざまな段階で使用できます。次に、使用可能なツールとフロー、およびそれらをいつ使用するかに関する推奨事項を示します。

AI エンジン カーネルの機能デバッグには、Vitis で x86 シミュレータを実行するのが一般的です。これは、機能デバッグに広範に使用できるシミュレータですが、プログラムのメモリ サイズは監視されないので、注意が必要です。x86 シミュレータを実行するためのオプションおよび方法の詳細は、 『AI エンジン ツールおよびフロー ユーザー ガイド』 (UG1076)このセクションを参照してください。

AI エンジン カーネルの機能デバッグは、Vitis の aiesimulator を使用しても実行できます。これは、機能デバッグに広範に使用可能なサイクル近似シミュレータです。SystemC を使用して、NoC、PS、および PL コンポーネントを含む Versal デバイスをモデル化します。ビルトイン デバッガーを使用すると、AI エンジン ソース コードをステップ スルーしてさらにデザインの機能をデバッグできます。printf 機能も使用できますが、プログラムのメモリ サイズに影響する可能性があります。このサイズは、aiesimulator により監視されます。Vitis IDE には、シングル AI エンジン カーネルのレジスタ、変数、使用可能なブレークポイント、レジスタ/メモリ マップへの変数、内部/外部メモリの内容、命令用の [Disassembly] ビュー、および命令パイプライン ([Pipeline] ビュー) を表示するデバッグ表示があります。

aiesimulator はサイクル近似なので、デザインの広範なパフォーマンス デバッグを実行できます。シミュレータには、プロファイリングおよびイベント トレース機能があり、ストールおよびデザインのパフォーマンス問題の根本的な原因を解析するのに使用できます。

aiesimulator には、カーネル コードの範囲外アクセスを検出およびレポートするオプションもあります。aiesimulator シミュレータのオプションおよび実行方法の詳細は、 『AI エンジン ツールおよびフロー ユーザー ガイド』 (UG1076)このセクションを参照してください。

Versal プラットフォームを使用して v++ で AI エンジン カーネルを Versal デバイスの残りの部分に統合するときに、ハードウェア エミュレーターを実行できます。このエミュレーターはサイクル精度で、RTL または SystemC シミュレーション モデルを使用して、PL ロジックをシミュレーションできます。このシミュレーション段階は、v++ リンク段階の後に、v++ リンク コマンド ラインで hw_emu ターゲットを指定して実行する必要があります。また、デバッガーを使用して、カーネル コードと PS ホスト コードの両方をステップ スルーすることにより、AI エンジン カーネルをデバッグすることも可能です。この段階では、QEMU を使用して PS と NoC の SystemC シミュレーション モデルをシミュレーションします。ハードウェア エミュレーターのオプションおよび実行方法の詳細は、次を参照してください。

デザインをハードウェアに移行する準備ができたら、さまざまなデバッグ ツールおよびプロファイリング ツールを使用できます。プロファイリング データは、PS ホスト コードでランタイム イベント API を使用してハードウェアでデザインを実行して取得するか、またはコンパイル時オプションを使用してハードウェアに組み込まれたパフォーマンス カウンターを使用して取得できます。このデータを解析すると、カーネルの効率、各 AI エンジン カーネルに関連するストール時間とアクティブ時間を計測し、パフォーマンスが最適でない可能性のある AI エンジン カーネルを特定できます。これにより、デザインのレイテンシ、スループット、および帯域幅のデータを収集できます。プロファイルのヒートマップおよびヒストグラムは、Vitis アナライザー ツールで表示できます。ハードウェアでのデザイン パフォーマンスの解析に使用可能なオプションおよび解析方法の詳細は、 『AI エンジン ツールおよびフロー ユーザー ガイド』 (UG1076)このセクションを参照してください。

AI エンジン ソースをハードウェアでデバッグすることもできます。これは、ハードウェアでの機能上の問題をデバッグするのに有益です。Vitis IDE でデバッガーを実行する方法およびデバッガーに関連するさまざまな機能の詳細は、 『AI エンジン ツールおよびフロー ユーザー ガイド』 (UG1076)このセクションを参照してください。