アプリケーションの呼び出しコストをモデル化する方法をコントロールできます。
インテル® Advisor は、高い収益性が見込まれるコード領域で高いコールカウント値を検出すると、カーネルの起動回数分の呼び出しコストがかかると仮定します。これにより、高い呼び出しコストとオフロードのコストが生じ、このコード領域はオフロードから恩恵を受けることができません。これは、消極的な推測です。
ただし、カーネル・インスタンスの終了を待機する必要がない簡単なアプリケーションでは、このコストは最初のコストを除き以降を隠すことができます。
オフロードのモデル化レポートでは、カーネル呼び出しのコストが [Estimated Bounded By] > [Kernel Launch Tax] カラムにレポートされます。このメトリックには、カーネル構成 (最初の起動)、各カーネルの起動、およびカーネルコードの転送に費やされた時間が含まれます。
ターゲットデバイスでパフォーマンスをモデル化する際に、アプリケーションの呼び出しコストを処理する方法をインテル® Advisor に指示できます。
単純な構成のアプリケーションでは、呼び出しコストを見積もる際に消極的なアプローチを有効にすることを推奨します。このアプローチによるオフロードのモデル化では、カーネルが初めて実行される時にのみ呼び出しコストが発生すると想定されます。
このアプローチを有効にするには次の操作を行います。
advisor --collect=projection --assume-hide-taxes --project-dir=./advi_results./advi_results は、プロジェクトのディレクトリーへのパスです。コマンドを実行する前に、実際に結果を収集したプロジェクトのディレクトリーに置き換えてください。
指定したオプションによって [Kernel Launch Tax (カーネル起動コスト)] カラムの値がどのように変化したか確認します。
デフォルトでは、オフロードのモデル化は消極的なアプローチを使用して呼び出しコストを予測し、カーネルが起動されるたびにコストが発生すると想定します。
advisor --collect=projection --no-assume-hide-taxes --project-dir=./advi_results./advi_results は、プロジェクトのディレクトリーへのパスです。コマンドを実行する前に、実際に結果を収集したプロジェクトのディレクトリーに置き換えてください。
指定したオプションによって [Kernel Launch Tax (カーネル起動コスト)] カラムの値がどのように変化したか確認します。
Invoke_tax_ratio パラメーターとともに、非表示にする呼び出しコストを TOML 設定ファイルに指定することで、非表示にする飛び出しコストの数を調整できます。
[scale] # Fraction of invocation taxes to hide. # Note: The invocation tax of the first kernel instance is not scaled. # Possible values: 0.0--1.0 # Default value: 0.0 Invoke_tax_hidden_ratio = <float>
<float> が非表示にする呼び出しコストである場合、Invoke_tax_hidden_ratio = 0.95 は、呼び出しコストの 95% が非表示になり、コストの 5% のみが予測されることを意味します。
advisor --collect=projection --custom-config=my_config.toml --project-dir=./advi_results./advi_results は、プロジェクトのディレクトリーへのパスです。コマンドを実行する前に、実際に結果を収集したプロジェクトのディレクトリーに置き換えてください。
パフォーマンスのモデル化に --set-parameter="scale.Invoke_tax_hidden_ratio = <float>" を使用して、現在の実行に対してのみ非表示にする起動コストの数を設定することもできます。この場合、カスタム設定ファイルを作成する必要はありません。
変更したパラメーターによって [Kernel Launch Tax (カーネル起動コスト)] カラムの値がどのように変化したか確認します。