(ファイルと行番号で) ループを選択してさらに詳しく解析します。
特定のループ/関数を選択します: [Vectorization and Code Insights (ベクトル化とコードの調査)] > [Survey & Roofline (サーベイとルーフライン)] > 
オフロードのモデル化のマークアップを使用してループ/関数を選択するには、次の操作を行います。[Offload Modeling (オフロードのモデル化)] > [Analysis Workflow (解析ワークフロー)] > [Dependencies (依存関係)] > [Markup type (マークアップタイプ)]
--select=<string> |
<string> は、カンマ区切りのファイル名と行番号、ループ ID、または [(r|recursive):]<id>|<file>:<line>|<criteria>[,<id>|<file>:<line>|<criteria>,..] 形式のリストです。Addr:(またはrecursive) プリフィクスを追加して、基準、ソースの場所、または ID で選択された視点から始まるコールツリー内のすべてのループを選択します。<criteria> は次のいずれかです。
基準 (criteria) |
説明 |
|---|---|
scalar |
スカラーのシリアルループのみを含めます。 |
total-time>N |
合計 CPU 時間の N% を超えるループのみを含めます。 |
has-source |
ソースの場所がないループを除外します。 |
has-issue |
ベクトルの依存関係はベクトル化を妨げる または 非効率なメモリー・アクセス・パターンの可能性 の問題があるループを含めます。 |
loop-height=N |
特定の階層位置のループを含めます。0 = 最内のループ。 |
markup=name |
事前定義されたマークアップ・アルゴリズムを使用してループを選択します。次のアルゴリズムがサポートされます。
|
デフォルトの引数はありません。
AND 論理+を使用して組み合わせることもできます。例えば、--select=scalar+has-source を使用して、ソースの場所を持つすべてのスカラーループを選択します。
mark-up-loops アクションと mark-up-list アクションオプションを混同しないでください。mark-up-loops アクションと select アクションオプションを組み合わせると、GUI
チェックボックスが有効になります; ループの選択は、mark-up-loops アクションの期間を超えて持続し、依存関係やメモリー・アクセス・パターン解析などの解析に適用されます。mark-up-list アクションオプションと組み合わせた collect アクションは、GUI
チェックボックスの有効化をシミュレートします; ループの選択は collect アクションの間にのみ持続します。
注目するループを特定するためサーベイ解析を実行します。
そして、詳しく解析を行うループを選択します。
advisor --collect=survey --project-dir=./advi_results -- ./myApplication advisor --mark-up-loops --select=foo.cpp:34,bar.cpp:192 --project-dir=./advi_results -- ./myApplication