< 目次

解析のオーバーヘッドを最小化するフィルター処理

問題

検出されたすべてのループでインテル® Advisor を使用してターゲット・アプリケーションを実行すると、ターゲット・アプリケーションの実行時間が大幅に増加する場合があります。パースペクティブで選択した精度レベルと解析に応じて、アプリケーションの実行時間には異なるオーバーヘッドが追加されます。以下に例を示します。

ランタイム・オーバーヘッド/解析

サーベイ

特性化

依存関係

MAP

インテル® Advisor を使用した場合と、使用しない場合のアプリケーションの実行時間の比較

1.1x 増加

2 - 55x 増加

5 - 100x 増加

5 - 20x 増加

解決方法

次の手法を使用して、注目しないモジュールをスキップしたり、注目するモジュールのみを解析したりできます。

モジュールのフィルター処理

収集とファイナライズのオーバーヘッドを最小化します。

適用される解析: サーベイ、トリップカウント & FLOP 収集を有効にした特性化。

次を使用します。

次のコマンドでは、コマンドを実行する前にmyApplicationをアプリケーションの実行可能ファイルのパスと名前に置き換えてください。アプリケーションが引数を必要とする場合、実行可能ファイル名のにそれらを指定します。

目的の解析を実行する前と実行中に、次のいずれかを行います。

GPU カーネルのフィルター

フィルター処理機能を使用すると、対象の GPU カーネルのみを解析できるため、データ収集とファイナライズのオーバーヘッドが最小限に抑えられます。

適用される解析: サーベイ、トリップカウント & FLOP 収集を有効にした特性化。

注目する GPU カーネルをフィルター処理するには、目的の解析を実行する前に次の手順を実行します。

  1. [Project Properties (プロジェクトのプロパティー)] > [Analysis Target (解析ターゲット)] > [<Name> Analysis (<名前> 解析]) を選択します。ここで、<Name> は、[Survey (サーベイ)] または [Trip Counts and FLOP (トリップカウントと FLOP)] です。

  2. 次に、解析プロパティーで、[GPU kernels of interest (対象の GPU カーネル)] リストの [Modify (変更)] をクリックし、注目するカーネルを指定します。あるいは、advisor CLI アクションオプション --gpu-kernel-of-interest =<kernel_names> を使用することもできます。次に例を示します。

    advisor --collect=survey --profile-gpu -gpu-kernel-of-interest=test* -- ./myScript

注: このコマンドを実行する前に、myScript を適切な実行可能パスに置き換え、必要なその他のオプションを追加してください。

関連情報