指定されたオプションに応じて、基本データを収集し、マークアップを実行して、詳細データを収集します。デフォルトではすべてのステップを実行します。マークアップ以外のステップでは、アプリケーション引数を指定する必要があります。
advisor-python <APM>/collect.py <project-dir> [--options] -- <target> [target-options]
次の表は、collect.py スクリプトで使用できるオプションです。解析するターゲット・アプリケーションおよびアプリケーションにオプションがある場合、その前に 2 つのハイフンとスペース 1 つを指定する必要があります。
オプション |
説明 |
---|---|
<project-dir> |
必須です。インテル® Advisor のプロジェクト・ディレクトリーへのパスを指定します。 |
-h --help |
すべてのスクリプトのオプションを表示. |
-v <verbose> --verbose <verbose> |
出力の詳細レベルを指定します。
注このオプションは、コンソール出力に影響しますが、通常のログとレポートの結果には影響しません。 |
-c {basic, refinement, full} --collect {basic, 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.py と analyze.py の両方で使用する必要があります。 |
--enable-slm |
メモリー階層モデルで SLM によるモデル化を有効にします。 重要このオプションは、collect.py と analyze.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}] |
サーベイまたはその他のデータ収集後にループをマークします。このオプションを使用して与えられたパラメーターに従ってループを選択することで、追加の収集の範囲を制限します。
omp、icpx -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 コマンドを入力します。 |
デフォルト設定で myApplication の完全なデータ収集を行い、プロジェクトを ./advi ディレクトリーに保存します。
advisor-python $APM/collect.py ./advi_results -- ./myApplication
カスタム構成ファイル config.toml を使用して、myApplication 上の OpenMP* および SYCL* ループのリファインメント・データを収集し、プロジェクトを ./advi ディレクトリーに保存します。
advisor-python $APM/collect.py ./advi_results --collect refinement --markup [omp,icpx -fsycl] --config ./config.toml -- ./myApplication
config.toml ファイルで指定されたカスタマ構成に対応するコマンドを取得して、advisor で個別に収集できます。コマンドをコピーしてペーストできます。
advisor-python $APM/collect.py ./advi_results --dry-run --config ./config.toml