User Guide

Contents

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:
  • loop-height=0 selects only innermost loop 3
  • loop-height=1 selects only loop 2 and loop 3
  • loop-height=2 selects all three loops
main | -> loop 1 | -> loop 2 | -> loop 3
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:
  • loop-height=0 selects only innermost loop 3
  • loop-height=1 selects only loop 2 and loop 3
  • loop-height=2 selects all three loops
main | -> loop 1 | -> loop 2 | -> loop 3
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"
Actions Modified
collect
=map
collect
=dependencies
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.
Run a Dependencies analysis. Analyze only innermost loops with sources.
$ advixe-cl --collect=dependencies -–loops=”loop-height=0,has-source” --project-dir=./advi --search-dir src:=./src -- ./bin/myApplication

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804