トレース オフロード - 2023.2 日本語

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

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

このセクションでは、SmartLynq+ モジュールと HSDP を使用するシステムの要件とビルド方法について説明します。

コンパイル、リンク、およびパッケージ

  • -event-trace-port=plio オプションを使用して AI エンジン デザインをコンパイルします。これにより、イベント トレース ポートが PLIO に設定されます。
    注記: イベント トレース ポートが GMIO に設定されている場合、HSDP を使用して AI エンジン トレースをオフロードできません。
  • AI エンジン グラフおよび C/C++ カーネルをコンパイルし、RTL カーネルをパッケージしたら、Vitisv++ --link コマンドを使用してこれらをターゲット プラットフォームとリンクし、プラットフォーム ファイル (XSA) をビルドします。HSDP を使用して AI エンジン トレースをオフロードするには、v++ -link コマンドに –profile.aie_trace_offload=HSDP オプションを追加する必要があります。

    これにより、AI エンジン トレース オフロード用に新しい HSDP IP のインスタンスが作成され、すべての PLIO イベント トレース ストリームが HSDP IP に接続されます。

  • HSDP を介する AI エンジン トレースのオフロードには、AI エンジン グラフを制御する XRT API を備えたホスト プログラムのみを使用する必要があります。
  • リンク ステップで生成された HSDP 対応 XSA ファイルと libadf.a をパッケージし、sd_card イメージを生成します。

SmartLynq+ モジュールのセットアップと Versal デバイスへの接続

  • SmartLynq+ モジュールを正しくセットアップするには、最新の microSD カード イメージと SmartLynq+ アプリケーション パッケージをダウンロードしてインストールする必要があります。このインストール プロセスの詳細は、SW ツールのダウンロードとインストールを参照してください。SmartLynq+ のセットアップが完了したら、Versal デバイス評価ボードを接続する必要があります。
  • SmartLynq+ モジュールは、USB 3.0 接続を使用してホスト システムからアクセスできます。Windows および Linux 環境用のドライバー セットアップ情報は、USB 3.0 ホスト接続を参照してください。
  • Versal デバイス評価ボードの接続の詳細は、 『SmartLynq+ モジュール ユーザー ガイド』 (UG1514)Versal 評価ボードへの接続を参照してください。
    注記: エンベデッド デザイン チュートリアルでは、SmartLynq+ モジュールを使用する高速デバッグ ポートのシステム デザイン例について説明します。
  • Versal アダプティブ SoC 向け SmartLynq+ モジュールの概要は、 『SmartLynq+ モジュール ユーザー ガイド』 (UG1514) を参照してください。

XSDB の起動とトレース情報のオフロード

Versal 評価ボードに HSDP 対応 Linux イメージをロードしたら、次を実行します。

  1. Versal 評価ボードと SmartLynq+ モジュールの電源をオンにします。
  2. minicom アプリケーションで Linux ブート メッセージを確認します (SmartLynq+ モジュールをシリアル端末として使用し、事前にインストールされている minicom アプリケーションを使用して Versal ボードからの UART 出力をリモートで確認できる)。
  3. AI エンジン デザインの Work/ ディレクトリがあるローカル ディレクトリから XSDB を起動します。
  4. source $::env(XILINX_VITIS)/scripts/vitis/util/aie_trace.tcl コマンドを使用して aie_trace.tcl スクリプトを読み込みます。
  5. 次のコマンドを使用して AI エンジン トレースを開始します。
    aietrace start -graphs <GRAPH_NAME> -graph -based -aie -tile -metrics all:all:functions_all_stalls- work-dir <WORK_DIR> - link -summary <*.xsa.link_summary>
    XSDB コンソールの例は次のようになります。

    注記: XSDB フローで指定したオプションはすべて使用できるはずです。ただし、-base-address オプションと -depth オプションは、HSDP オフロードには使用できません。これらのオプションを使用すると、XSDB でエラーが発生します。
  6. ハードウェアでアプリケーションを実行します。xrt.ini ファイルに、XSDB によって提供されるコンフィギュレーションと競合する AI エンジン トレース コンフィギュレーションが含まれていないことを確認してください。
  7. aietrace stop コマンドを使用して AI エンジン トレースを停止します。AI エンジン トレースに対応する hsdp_event_trace0.txt ファイルと、イベント コンフィギュレーションを含む JSON ファイルが表示されるはずです。

  8. これで、ダンプされたトレースが hw_analyze コマンドによって処理され、Vitis IDE で使用可能な .wdb ファイルが生成されます。
    hwanalyze --pkg-dir=<WORK_DIR> --trace=hsdp_event_trace_aie.txt --trace_config=<PATH_TO_JSON> -wdb
  9. Vitis IDE を起動し、.wdb ファイルを開いてイベント トレースを解析します。
  10. 現在、新しい Vitis IDE の [Analysis] ビューで、スタンドアロンの波形デバッグ ファイル (.wdb.wcfg) を開くことはできません。この機能を使用するには、vitis_analyzer --classic を使用します。
  11. トレース情報は、次のように表示されます。

制限

  • HSDP を使用する AI エンジン トレース オフロードはハードウェアでのみサポートされ、ハードウェア エミュレーションではサポートされません。
  • DFX 以外のプラットフォームでのみサポートされます。
  • -event-trace-portGMIO ではなく PLIO に設定されている場合にのみサポートされます。
  • XRT ベースのトレース オフロードはサポートされません。