< 目次

collect.py オプション

指定されたオプションに応じて、基本データを収集し、マークアップを実行して、詳細データを収集します。デフォルトではすべてのステップを実行します。マークアップ以外のステップでは、アプリケーション引数を指定する必要があります。

使用法

advisor-python <APM>/collect.py <project-dir> [--options] -- <target> [target-options]

Linux* では <APM>$APM で置き換えるか、Windows* では %APM% に置き換えます。

オプション

次の表は、collect.py スクリプトで使用できるオプションです。解析するターゲット・アプリケーションおよびアプリケーションにオプションがある場合、その前に 2 つのハイフンとスペース 1 つを指定する必要があります。

オプション

説明

<project-dir>

必須です。インテル® Advisor のプロジェクト・ディレクトリーへのパスを指定します。

-h

--help

すべてのスクリプトのオプションを表示.

-v <verbose>

--verbose <verbose>

出力の詳細レベルを指定します。

  • 1 - エラーメッセージにのみを表示します。これは最も冗長的なレベルです。

  • 2 - 警告とエラーメッセージを表示します。

  • 3 (デフォルト) - 情報、警告、およびエラーメッセージを表示します。

  • 4 - デバッグ情報、警告、およびエラーメッセージを表示します。これは最も詳細なレベルです。

このオプションは、コンソール出力に影響しますが、通常のログとレポートの結果には影響しません。

-c {basic, refinement, full}

--collect {basic, refinement, full}

アプリケーションで収集するデータタイプを指定します。

  • basic- 基本的なパフォーマンス・データ (サーベイ、トリップカウント、FLOP) を収集し、ホストとデバイスメモリー間のデータ転送を解析し、メモリー・オブジェクトをループに関連付けてスタックメモリーへのアクセスを追跡します。
  • refinement- マークされたループについてのみリファインデータ (依存関係) を収集します。データ転送を解析しません。
  • full(デフォルト) - アプリケーションの基本データとマークされたループの詳細データを収集し、ホストとデバイスメモリー間のデータ転送と潜在的なデータの再利用を解析し、メモリー・オブジェクトをループに関連付けてスタックメモリーへのアクセスを追跡します。

For--collect fullの場合は、必ず--data-reuse-analysis --track-memory-objects を必ず使用してください。analyze.py または advisor --collect=projection コマンドを入力します。

--collect basic の場合は、必ず--track-memory-objects を必ず使用してください。analyze.py または advisor --collect=projection コマンドを入力します。

--config <config>

絶対パスまたは名前で設定ファイルを指定します。後者を選択した場合、モデル設定ディレクトリーで最初にファイルが検索され、次に現在のディレクトリーが検索されます。

オプションを複数回指定して、複数の構成を指定できます。

--data-reuse-analysis | --no-data-reuse-analysis (デフォルト)

オフロード領域間でのデータの再利用を推測します。無効にするとオーバーヘッドを減らすことができます。

重要

--collect basic --collect full はこのオプションをオーバーライトします。データ再利用解析の結果をオフロードのモデル化レポートに追加するには、analyze.py または advisor --collect=projection を使用して、パフォーマンスのモデル化で --data-reuse-analysis オプションを必ず使用します。analyze.py または advisor --collect=projection コマンドを入力します。

--data-transfer (デフォルト) | --no-data-transfer

データ転送を解析します。

無効にするとオーバーヘッドを減らすことができます。

--dry-run

指定された構成に対応する advisor のインテル® Advisor CLI コマンドを表示します。実際の収集は行われません。

--enable-edram

メモリー階層モデルで eDRAM のモデル化を有効にします。

重要

このオプションは、collect.pyanalyze.py の両方で使用する必要があります。

--enable-slm

メモリー階層モデルで SLM によるモデル化を有効にします。

重要

このオプションは、collect.pyanalyze.py の両方で使用する必要があります。

--executable-of-interest <executable-name>

実行するアプリケーションと異なる場合、プロファイルする実行形式のプロセス名を指定します。このオプションは、スクリプトまたはその他のバイナリーからアプリケーションが実行される場合に使用します。

フルパスではなく名前のみを指定します。

--flex-cachesim <cache-configuration>

柔軟性のあるキャッシュ・シミュレーションにより、複数のターゲットデバイスのキャッシュデータをモデル化します。また、データを再収集することなく解析対象のデバイスを変更できます。構成が設定されていないとデフォルトでは、サポートされるすべてのターゲット・プラットフォームのキャッシュデータがシミュレートされます。

<size_of_level1>:<size_of_level2>:<size_of_level3> の形式で、スラッシュで区切ったキャッシュ構成リストを指定できます。各メモリーレベルのサイズには、次の測定単位を使用します。b- バイト、k- キロバイトまたは、m- メガバイト。

例:8k:512k:8m/24k:1m:8m/32k:1536k:8m

--gpu (推奨) | --profile-gpu | --analyze-gpu-kernels-only

GPU 上で実行されるコア領域のみのパフォーマンスをモデル化します。以下の 3 つのいずれかのオプションを使用します。

重要

このオプションは、collect.py analyze.py を使用します。

これはプレビュー機能です。--analyze-gpu-kernels-only は非推奨であり、将来のリリースでは削除されます。

--no-profile-jit (デフォルト)

JIT 関数の解析を無効にします。

-m [{all, generic, regions, omp, icpx -fsycl, daal, tbb}]

--markup [{all, generic, regions, omp, icpx -fsycl, daal, tbb}]

サーベイまたはその他のデータ収集後にループをマークします。このオプションを使用して与えられたパラメーターに従ってループを選択することで、追加の収集の範囲を制限します。

  • all- 追加して収集するオプションとして渡すループ ID のリストを取得します。

  • generic(デフォルト) - すべての領域をマークして最も収益性の高い場所を選択します。

  • regions- 既存の並列領域を選択します。

  • omp- OpenMP* 領域の最も外側のループを選択します。

  • icpx -fsycl- SYCL* 領域の最も外側のループを選択します。

  • daal- インテル® oneAPI データ・アナリティクス・ライブラリー領域の最も外側のループを選択します。

  • tbb- インテル® oneAPI スレッディング・ビルディング・ブロック (oneTBB) 領域の最も外側のループを選択します。

ompicpx -fsycl、または generic ループ選択オプションなしでも対応する収集を実行できるように、プロジェクトでループを選択します。

複数のパラメーターをカンマで区切ってリストで指定できます。ループは指定されたパラメーターのいずれかに一致する場合選択されます。

--model-system-calls (デフォルト) | --no-model-system-calls

システムコールで領域を解析します。領域内にシステムコールがあると、モデル化の精度が低下する可能性があります。

--mpi-rank <mpi-rank>

複数のランクが解析されている場合、対象とする MPI ランクを指定します。

--no-cache-sources

プロジェクトでソースコードのキャッシュ保持を無効にします。

--no-cachesim

収集中のキャッシュ・シミュレーションを無効にします。このモデルは 100% のキャッシュヒット率を想定します。

使用すると解析のオーバーヘッドを減らすことができます。

--no-stacks

スタック上のデータ分布を収集せずにデータ収集を実行します。このオプションを使用すると、精度が低下する代わりにオーバーヘッドを減らすことができます。

-o <output-dir>

--out-dir <output-dir>

生成されるすべてのファイルを格納するディレクトリーを指定します。デフォルトでは、結果は <advisor-project>/e<NNN>/pp<MMM>/data.0 に保存されます。既存のディレクトリーや絶対パスを指定すると、結果はそのディレクトリーに保存されます。存在しない場合は、新しいディレクトリーが作成されます。

ディレクトリー <name> のみが指定されると、結果は <advisor-project>/perf_models/<name> に保存されます。

このオプションを使用すると、インテル® Advisor GUI で解析結果を開けなくなる恐れがあります。

-p <output-name-prefix>

--out-name-prefix <output-name-prefix>

出力結果ファイル名の先頭に追加する文字列を指定します。

このオプションを使用すると、インテル® Advisor GUI で解析結果を開けなくなる恐れがあります。

--set-parameter <CLI-config>

変更する構成パラメーターを "<group>.<parameter>=<new-value>」 形式で指定します。例:"min_required_speed_up=0""scale.Tiles_per_process=0.5"。このオプションを複数指定して、複数のパラメーターを変更することもできます。

重要

このオプションは、collect.py analyze.py の両方の値が同じであることを確認してください。

--track-heap-objects | --no-track-heap-objects

非推奨です。--track-memory-objects を使用します。

--track-memory-objects (デフォルト) | --no-track-memory-objects

ヒープに割り当てられたオブジェクトを、解析中にオブジェクトにアクセスしたループに属性化します。

重要

このオプションは、--collect basic --collect full を使用します。データ再利用解析の結果をオフロードのモデル化レポートに追加するには、analyze.py または advisor --collect=projection コマンドを入力します。

--track-stack-accesses (デフォルト) | --no-track-stack-accesses

スタックメモリーへのアクセスを追跡します。

重要

このオプションは、--collect basic --collect full を使用します。データ再利用解析の結果をオフロードのモデル化レポートに追加するには、analyze.py または advisor --collect=projection コマンドを入力します。