AXI Performance Monitor を使用したパフォーマンス計測

AXI Performance Monitor (APM) モジュールは、PS 内の Arm® コアと PL 内のハードウェアの間のデータ転送に関する基本的な情報を監視するために使用します。読み出し/書き込みトランザクション数、システムのバス上の AXI トランザクション レイテンシなどの統計を収集します。

このセクションでは、システムへの APM コアの挿入方法、計測用に設定されたシステムの監視方法、および生成されたパフォーマンス データの表示方法を示します。

スタンドアロン プロジェクトの作成と APM のインプリメント

  1. SDSoC™ 環境を開き、任意のプラットフォームまたはオペレーティング システムを使用して新しい SDSoC プロジェクトを作成します。[Matrix Multiplication and Addition] テンプレートを選択します。
  2. [Application Project Settings] で [Insert AXI Performance Monitor] をオンにします。

    このオプションをオンにしてプロジェクトを作成すると、ハードウェア システムに APM IP コアが追加されます。APM IP は、プログラマブル ロジックの少量のリソースを使用します。SDSoC 環境により、APM がハードウェア/ソフトウェア インターフェイス ポートである汎用 (GP) ポートおよびハイ パフォーマンス (HP) ポートに接続されます。

  3. mmult および madd 関数をハードウェアでインプリメントされるように選択します。デバッグ コンフィギュレーション (デフォルト) を使用して、プロジェクトをクリーンアップおよびビルドします。

スタンドアロン システムの監視

システムを監視するには、次の手順に従います。

  1. ビルドが完了したら、ボードをコンピューターに接続してボードの電源を入れます。
  2. [Run] > [Debug Configurations] をクリックして、ウィンドウを開きます。
  3. デバッグ コンフィギュレーション ツリーで [Xilinx SDx Application Debugger] をクリックします。
  4. [New Launch Configuration] をクリックし、新しい SDx 環境アプリケーション デバッガー コンフィギュレーションを作成します。
  5. [Debug Type] を [Standalone Application Debug] に設定します。
  6. [Connection] を [Local] に設定します。
  7. [Main] タブで [Performance Analysis] チェック ボックスをオンにします。

    [Performance Analysis] をオンにすると、[Main] タブでパフォーマンス解析オプションが自動的に設定されます。

  8. [Apply] をクリックし、[Debug] をクリックします。

    パースペクティブを切り替えることを尋ねるメッセージが表示されたら、[Yes] をクリックします。

  9. [Debug] パースペクティブが開いたら、[Window] > [Perspective] をクリックし、[Open Perspective] ダイアログ ボックスで [Performance Analysis] をオンにして、[OK] をクリックします。
  10. アプリケーションの実行を再開するには、[Debug] タブで [Resume] をクリックします。

    パースペクティブを切り替えるかどうか尋ねるメッセージが表示されたら、[No] をクリックして [Performance Analysis] パースペクティブにとどまります。



Linux プロジェクトの作成と APM のインプリメント

  1. SDSoC 環境を開き、任意のプラットフォームまたはオペレーティング システムを使用して新しいプロジェクト/ワークスペースを作成します。[Matrix Multiplication and Addition Template] を選択します。
  2. [SDx Application Project Settings] で [Insert AXI Performance Monitor] をオンにします。

    このオプションをオンにしてプロジェクトを作成すると、ハードウェア システムに APM IP コアが追加されます。APM IP は、プログラマブル ロジックの少量のリソースを使用します。SDSoC 環境により、APM がハードウェア/ソフトウェア インターフェイス ポートである GP ポートおよび HP ポートに接続されます。

  3. mmult および madd 関数をハードウェアでインプリメントされるように選択します。
  4. デバッグ コンフィギュレーション (デフォルト) を使用してプロジェクトをクリーンアップおよびビルドします。

次の図は、APM カウンターを示しています。



Linux システムの監視

  1. ビルドが終了したら、sd_card ディレクトリの内容を SD カードにコピーし、ボードで Linux を起動します。
  2. UART と JTAG ケーブルの両方を使用してボードをコンピューターに接続します。
  3. ボードの IP アドレスを使用して Linux TCF エージェント ターゲット接続を設定します。TCF の詳細は、SDK ヘルプを参照してください。
  4. [Run] > [Debug Configuration] をクリックし、[Debug Configurations] ダイアログ ボックスを開きます。
  5. デバッグ コンフィギュレーション ツリーで [Xilinx SDx Application Debugger] をクリックします。
  6. [New Launch Configuration] をクリックし、新しいアプリケーション デバッガー コンフィギュレーションを作成します。
  7. [Debug Type] を [Linux Application Debug] に設定します。
  8. [Connection] を [Local] に設定します。
  9. [Performance Analysis] チェック ボックスをオンにします。

    [Performance Analysis] をオンにすると、[Main] タブにパフォーマンス解析オプションが自動的に設定されます。

  10. [Apply] をクリックします。
  11. [Debug] をクリックします。

    パースペクティブを [Debug] に切り替えることを尋ねるメッセージが表示されたら、[Yes] をクリックします。

  12. [Debug] パースペクティブが表示されたら、[Window] > [Perspective] をクリックし、[Open Perspective] ダイアログ ボックスで [Performance Analysis] をオンにします。
  13. [OK] をクリックします。
  14. [Debug] タブをクリックし、[Resume] をクリックしてアプリケーションを再開します。

    パースペクティブを切り替えるかどうか尋ねるメッセージが表示されたら、[No] をクリックして [Performance Analysis] パースペクティブにとどまります。

  15. プログラムの実行が終了したら [Stop] ボタンをクリックします。

    [Confirm Perspective Switch] ダイアログ ボックスボックスに [Performance Analysis] パースペクティブにとどまるかどうかを確認するメッセージが表示されたら、[No] をクリックします。

  16. パースペクティブの下部で解析プロットをスクロールし、異なるパフォーマンス統計を確認します。
  17. プロット エリアをクリックすると、パースペクティブの中央に拡大表示されます。

    オレンジ色のボックスにより、データの特定の時間範囲に焦点を置くことができます。

パフォーマンスの解析

このシステムでは、APM は PS と PL の間で使用されているポートの 1 つと GP ポートに接続されます。

図: [APM Performance Count] の出力

乗算器および加算器アクセラレータ コアはどちらも、データの入出力用にアクセラレータ コヒーレンシ ポート (ACP) に接続されます。

GP ポートは、制御コマンドの発行およびアクセラレータ コアのステータスを取得するためにのみ使用され、データ転送には使用されません。青色のスロット 0 は GP ポートに接続され、緑色のスロット 1 は ACP に接続されています。

注記: ACP ポートは、SDSoC 環境の Zynq UltraScale+ MPSoC デバイスではサポートされません。

APM は、ACP および GP ポートにそれぞれ 1 つずつ、2 つの監視スロットを使用して、プロファイル モードに設定されます。プロファイル モードでは、各スロットにイベント カウント機能が含まれます。読み出しおよび書き込みに対して APM で算出される統計のタイプには、次のものが含まれます。

トランザクション数
バス上で発生する要求の総数。
バイト数
送信されたバイトの総数 (書き込みスループットの算出に使用)。
レイテンシ
アドレス発行の開始から最後の要素が送信されるまでの時間。

レイテンシおよびバイト カウンターの統計は、スループット (MB/s) を自動的に算出するために APM で使用されます。表示されるレイテンシおよびスループット値は、50 ミリ秒 (ms) 間隔です。

レイテンシおよびスループットの最小、最大、平均も表示されます。