CPU/FPGA 相互作用解析を使用して、(SYCL* アプリケーションを実行する専用の FPGA を搭載したシステム上の CPU と FPGA のバランスを評価します。
CPU/FPGA 相互作用解析を使用して、実行されたカーネルの FPGA パフォーマンス、CPU と FPGA 間のメモリー転送合計時間、CPU と FPGA ワークロードの待機時間による影響を評価します。
インテル® VTune™ プロファイラーは、これらの FPGA デバイスメトリックを収集します。
グローバル帯域幅
ストール
占有率
アクティビティー
アイドル
この手順に従って、CPU/FPGA 相互作用解析のオプションを設定します。
必要条件:
(スタンドアロン GUI)/
(Visual Studio* IDE) で、インテル® VTune™ プロファイラー・ツールバーにある [解析の設定 (Configure Analysis)] ボタンをクリックします。
[解析の設定] ウィンドウが表示されます。
[何を] ペインで次の操作を行います。
S[アプリケーション] バーでホストの実行ファイルを指定します。
必要に応じて、ホスト・アプリケーションの引数を [アプリケーションの引数] に指定します。
[どのように] ペインで ブラウズボタンをクリックします。
この設定のコマンドラインを生成するには、 コマンドライン・ボタンをクリックします。
[開始] ボタンをクリックして解析を実行します。
プロファイラーのランタイムラッパーを使用して profile.json ファイル形式で FPGA プロファイル・データを収集した場合、それらをインテル® VTune™ プロファイラーにインポートできます。
収集済みデータの読み取りを高速化するには、profile.json を空のフォルダーにコピーして、コンパイル・ディレクトリー全体ではなくそのフォルダーだけをインポートします。
プロファイラーのランタイムラッパーを使用してデータをプロファイルする方法 (oneAPI アプリケーションのみ) の詳細については、FPGA 最適化ガイド (英語) をご覧ください。
CPU/FPGA 相互作用解析の結果は、[CPU/FPGA 相互作用] ビューポイントに表示されます。ビューポイントには次のウィンドウが含まれます。
[サマリー] ウィンドウには、CPU 時間とプロセッサー利用率、および SYCL* カーネルの実行時間を特定する、アプリケーション全体の実行に関する統計情報が表示されます。[ボトムアップ] ビューに表示されるカーネルをダブルクリックすると、[ソース] ビューを介してパフォーマンス・データの詳細がを確認できます。
[ボトムアップ] ウィンドウには、ボトムアップ・ツリーに関数、CPU 時間、および関数ごとの CPU 利用率が表示されます。このビューに表示される関数またはカーネルをクリックして [ソース] ビューを表示します。
[プラットフォーム] ウィンドウには、SYCL* カーネル、メモリー転送、CPU コンテキスト・スイッチ、FPU 利用率、および SYCL* カーネルと CPU スレッドのメトリックとパフォーマンス・データが時間軸で表示されます。
CPU/FPGA 相互作用ビューポイントを使用して以下を確認します。
FPGA 利用率: FPGA 上で実行されているカーネルの一覧については、[サマリー] ウィンドウの [上位 FPGA 計算タスク] を参照してください。[ボトムアップ] ウィンドウは、各カーネルの合計および平均実行時間を表示します。
メモリー転送: [ボトムアップ] ウィンドウの [データ転送] カラム、または [プラットフォーム] ウィンドウの [計算キュー] 行を参照して、SYCL カーネルとメモリー転送を確認します。
ワークロードの影響: [サマリー] ウィンドウの [コンテキスト・スイッチ時間] メトリックには、CPU コンテキスト・スイッチで費やされる時間が表示されます。コンテキスト・スイッチは、アプリケーション実行中に [プラットフォーム] タブにも表示されます。