loops
loops
Select loops (by criteria instead of
human input) for deeper analysis.
Syntax
--loops
=
<string>
Arguments
<string>
is a
double-quote-enclosed, comma-separated list of criteria (no spaces):
Arguments for Dependencies Analysis
| Description
|
---|---|
scalar
| Include only scalar serial loops.
|
total-time> n | Include only loops above n% of total CPU time.
|
has-source
| Exclude only loops without source location.
|
has-issue
| Include only loops with
Vector Dependence Prevents Vectorization issue.
|
loop-height= n | Include only loops by specific hierarchical position. 0 =
Innermost loops.
For example: Use the following criteria to include specific loops
in the following scenario:
|
top= n | Include only loops with the largest self-time.
|
Arguments for Memory Access Patterns Analysis
| Description
|
total-time> n | Include only loops above n% of total CPU time.
|
has-source
| Exclude only loops without source location.
|
has-issue
| Include only loops with Possible Inefficient Memory Access
Pattern issue.
|
loop-height= n | Include only loops by specific hierarchical position. 0 =
Innermost loops.
For example: Use the following criteria to include specific loops
in the following scenario:
|
top= n | Include only loops with the largest self-time.
|
Default
For Memory Access Patterns analysis:
"loop-height=0,total-time>0.1"
For Dependencies analysis:
"scalar,loop-height=0,total-time>0.1"
Usage
All criteria must be met to select loops for analysis.
This option is particularly useful when you are using
automated scripts.
You can accomplish the same objective using the
mark-up-loops
action followed by a
collect
action for a Dependencies or Memory Access Patterns
analysis.
Usage can decrease collection overhead.
Example
Run a Dependencies analysis. Analyze only innermost
loops with sources.
advisor --collect=dependencies --loops=”loop-height=0,has-source” --search-dir src:=./src --project-dir=./advi_results -- ./myApplication