起動のコストを管理

アプリケーションの呼び出しコストをモデル化する方法をコントロールできます。

インテル® Advisor は、高い収益性が見込まれるコード領域で高いコールカウント値を検出すると、カーネルの起動回数分の呼び出しコストがかかると仮定します。これにより、高い呼び出しコストとオフロードのコストが生じ、このコード領域はオフロードから恩恵を受けることができません。これは、消極的な推測です。

ただし、カーネル・インスタンスの終了を待機する必要がない簡単なアプリケーションでは、このコストは最初のコストを除き以降を隠すことができます。

オフロードのモデル化レポートでは、カーネル呼び出しのコストが [Estimated Bounded By] > [Kernel Launch Tax] カラムにレポートされます。このメトリックには、カーネル構成 (最初の起動)、各カーネルの起動、およびカーネルコードの転送に費やされた時間が含まれます。

ターゲットデバイスでパフォーマンスをモデル化する際に、アプリケーションの呼び出しコストを処理する方法をインテル® Advisor に指示できます。

次のコマンドラインの <APM> はスクリプトのあるディレクトリーを示します。Linux* では $APM に、Windows* では %APM% に置き換えてください。

すべてのコストを隠す

単純な構成のアプリケーションでは、呼び出しコストを見積もる際に消極的なアプローチを有効にすることを推奨します。このアプローチによるオフロードのモデル化では、カーネルが初めて実行される時にのみ呼び出しコストが発生すると想定されます。

このアプローチを有効にするには次の操作を行います。

指定したオプションによって [Kernel Launch Tax (カーネル起動コスト)] カラムの値がどのように変化したか確認します。

コストを表示する

デフォルトでは、オフロードのモデル化は消極的なアプローチを使用して呼び出しコストを予測し、カーネルが起動されるたびにコストが発生すると想定します。

指定したオプションによって [Kernel Launch Tax (カーネル起動コスト)] カラムの値がどのように変化したか確認します。

非表示のコストの数を調整

Invoke_tax_ratio パラメーターとともに、非表示にする呼び出しコストを TOML 設定ファイルに指定することで、非表示にする飛び出しコストの数を調整できます。

  1. my_config.toml のような 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% のみが予測されることを意味します。

  2. ファイルを保存して閉じます。
  3. 追加のカスタム構成として新しい TOML ファイルを使用してパフォーマンスの予測を実行します。
    advisor --collect=projection --custom-config=my_config.toml --project-dir=./advi_results

    ./advi_results は、プロジェクトのディレクトリーへのパスです。コマンドを実行する前に、実際に結果を収集したプロジェクトのディレクトリーに置き換えてください。

    重要

    設定パラメーターを使用して非表示にするコストの数をコントロールする場合、--assume-hide-taxes--assume-never-hide-taxes オプションを使用しないでください。これらのオプションは、設定パラメーター値をオーバーライドします。

パフォーマンスのモデル化に --set-parameter="scale.Invoke_tax_hidden_ratio = <float>" を使用して、現在の実行に対してのみ非表示にする起動コストの数を設定することもできます。この場合、カスタム設定ファイルを作成する必要はありません。

変更したパラメーターによって [Kernel Launch Tax (カーネル起動コスト)] カラムの値がどのように変化したか確認します。

関連情報
コマンドラインからオフロードのモデル化パースペクティブを実行