< 目次

特定のループのオフロードを強制

特定のループに関しては、利点がない場合でもターゲットデバイスのパフォーマンスをモデル化します。

特定のループに関してのみオフロードの収益性を確認する場合、または対象のループがアクセラレーターへのオフロードが推奨されないとレポートされている場合は、それらのループについてのみパフォーマンスをモデル化し、他のすべてのループを無視できます。

: 以下のコマンドでは、コマンドを実行する前に myApplication をアプリケーションの実行可能形式へのパスと名前に置き換える必要があります。アプリケーションが引数を必要とする場合、実行可能ファイル名のにそれらを指定します。

これには次の操作を行います。

  1. ベースラインのパフォーマンス・データを収集します。例えば、サーベイと特性化解析を実行します。
    advisor --collect=survey --static-instruction-mix --project-dir=./advi_results -- ./myApplication
    advisor --collect=tripcounts --flop --stacks --enable-cache-simulation --target-device=xehpg_512xve --project-dir=./advi_results -- ./myApplication
  2. 選択されたループ/関数のみのパフォーマンスのモデル化を再実行します。例:
    advisor --collect=projection --select=foo.cpp:34,bar.cpp:192 --enforce-offload --project-dir=./advi_results

    説明:

    • --select は、ファイルと行番号、ループ/関数 ID、または基準によって解析するループ/関数をリストします。
    • --enforce-offloads は、子ループ/関数をオフロードした方が収益性が高い場合でも、選択したループ/関数のパフォーマンスをモデル化します。

インテル® Advisor GUI の対話型 HTML レポートでオフロードのモデル化の結果を開きます。結果には、選択したループ/関数のみで推測されたパフォーマンスが表示されます。

関連情報
コマンドラインからオフロードのモデル化パースペクティブを実行
advisor コマンドオプションのリファレンス
オフロードのモデル化コマンドライン・リファレンス このリファレンスでは、オフロードのモデル化パースペクティブの実行に使用できる Python* スクリプトのコマンドライン・オプションについて説明します。