正しく設定されていれば、Vitis ランタイム ライブラリでホスト アプリケーションおよびカーネルのプロファイリング データが収集されます。アプリケーションの実行が終了すると、プロファイル サマリが .csv ファイルとしてホスト コードがコンパイルされたディレクトリに保存されます。
プロファイル サマリには、全体的なアプリケーション パフォーマンスに関する注釈付きの詳細が表示されます。アプリケーションの実行中に生成されたすべてのデータが複数のカテゴリに分類されます。プロファイル サマリでは、カーネル実行とデータ転送の統計を確認できます。
ヒント: プロファイル サマリ レポートは、すべてのビルド コンフィギュレーションで生成できます。ただし、ソフトウェア エミュレーション ビルドでは、カーネル実行効率およびデータ転送効率の下にデータ転送の詳細は含まれません。この情報は、ハードウェア エミュレーションおよびシステム ビルド コンフギュレーションでのみ生成されます。
次に、プロファイル サマリ レポートの例を示します。
図 1. [Profile Summary]
レポートには複数のタブがあります。次の表に、各タブの説明を示します。
- [Top Operations]
- カーネルおよびグローバル メモリ。最上位演算のサマリを示します。FPGA とデバイス メモリ間の最上位データ転送のプロファイル データを表示します。
- [Kernels & Compute Units]
- すべてのカーネルおよび計算ユニットのプロファイル データを表示します。
- [Data Transfers]
- ホストおよびグローバル メモリ。ホストとデバイス メモリ間の PCIe リンクを介したすべての読み出しおよび書き込み転送のプロファイル データを表示します。カーネルとグローバル メモリ間のデータ転送がイネーブルの場合、その情報も表示します。
- [OpenCL APIs]
- ホスト アプリケーションで実行されるすべての OpenCL C ホスト API 関数のプロファイル データを表示します。
- [Kernel Internals]
- このタブは、xrt.ini ファイル に示すように、xrt.ini の
[Emulation]
セクションでlaunch_waveform
をイネーブルにすると、ハードウェア エミュレーション中に表示されます。生成される波形データ (.wdb) は profile_kernels.csv および timeline_kernels.csv ファイルでレポートされ、この情報を示す [Kernel Internals] タブが表示されます。レポートされる情報は C/C++ および OpenCL カーネルに該当するものです。RTL カーネルに対してはレポートされません。
プロファイル サマリの詳細は、プロファイル サマリの解釈 を参照してください。