loops

詳細な解析を行うためループを選択します (手動ではなく基準値で)。

構文

--loops=<string>

引数

<string> は、二重引用符で囲まれカンマで区切った基準のリストです (スペースなし)。

依存関係解析の引数

説明

scalar

スカラーのシリアルループのみを含めます。

total-time>n

合計 CPU 時間の % を超えるループのみを含めます。

has-source

ソースの場所がないループを除外します。

has-issue

ベクトルの依存関係がベクトル化を妨げている問題を持つループのみを含めます。

loop-height=n

特定の階層のループのみを含めます。0 = 最内のループ。

以下に例を示します。次の基準を使用して、以下のシナリオ固有のループを含めます。

  • loop-height=0 は、最も内側のループ 3 のみを選択します

  • loop-height=1 は、ループ 2 と 3 のみを選択します

  • loop-height=2 は、3 つのすべてのループを選択します

main | -> ループ 1 | -> ループ 2 | -> ループ 3

top=n

最も大きなセルフ時間のループのみを含めます。

メモリー・アクセス・パターン解析の引数

説明

total-time>n

合計 CPU 時間の % を超えるループのみを含めます。

has-source

ソースの場所がないループを除外します。

has-issue

非効率なメモリー・アクセス・パターン問題を持つループのみを含みます。

loop-height=n

特定の階層のループのみを含めます。0 = 最内のループ。

以下に例を示します。次の基準を使用して、以下のシナリオ固有のループを含めます。

  • loop-height=0 は、最も内側のループ 3 のみを選択します

  • loop-height=1 は、ループ 2 と 3 のみを選択します

  • loop-height=2 は、3 つのすべてのループを選択します

main | -> ループ 1 | -> ループ 2 | -> ループ 3

top=n

最も大きなセルフ時間のループのみを含めます。

デフォルト

メモリー・アクセス・パターン解析の場合: "loop-height=0,total-time>0.1"

依存関係解析の場合: "scalar,loop-height=0,total-time>0.1"

影響するアクション

collect=map

collect=dependencies

mark-up-loops

使用法

解析するループを選択するには、すべての基準を満たす必要があります。

このオプションは、自動スクリプトを使用する際に役立ちます。

mark-up-loops アクションに続いて、依存関係やメモリー・アクセス・パターン解析の collect アクションを使用して、同様のことができます。

収集のオーバーヘッドを減らすことができます。

依存関係解析を実行します。最内のループのソースのみを解析します。

advisor --collect=dependencies --loops="loop-height=0,has-source" --search-dir src:=./src --project-dir=./advi_results -- ./myApplication

関連情報