User Guide

Contents

select

Select loops (by file and line number, ID, or criteria) for deeper analysis.
GUI Equivalent
Survey

Syntax

--select
=
<string>
Arguments
<string>
is a comma-separated list of file name and line number, loop ID, and/or criteria in the
[(r|recursive):]<id>|<file>:<line>|<criteria>[,<id>|<file>:<line>|<criteria>,..]
format. Add
r:
(or
recursive:
) prefix to select all loops in call trees starting from heads selected by criteria, source location or ID.
<criteria>
can be one of the following:
Criteria
Description
scalar
Include scalar serial loops.
total-time>
N
Include loops above N% of total CPU time.
has-source
Exclude loops without source location.
has-issue
Include loops with
Vector Dependence Prevent Vectorization
or
Possible Inefficient Memory Access Pattern
issue.
loop-height=
N
Include loops at a specific hierarchical position. 0 = Innermost loops.
markup=
name
Select loops using a pre-defined mark-up algorithm. Supported algorithms are:
  • gpu_generic
    - Select loops executed on a GPU.
  • omp
    - Select OpenMP* loops.
  • dpcpp
    - Select Data Parallel C++ loops.
  • ocl
    - Select OpenCL™ loops.
  • daal
    - Select
    Intel® oneAPI Data Analytics Library
    loops.
  • tbb
    - Select
    Intel® oneAPI Threading Building Blocks
    loops.
Default
No default argument
Actions Modified
With the
--collect=projection
action, the
select
option accepts only loop/function IDs and source locations (in the
<file-name>:<line>
format).
Usage
Use
+
to combine criteria with AND logic. For example, use
--select=scalar+has-source
to select all scalar loops that have source location.
Selecting loops of interest can decrease collection overhead.
Do not confuse the
mark-up-loops
action with the
mark-up-list
action option. The
mark-up-loops
action coupled with the
select
action option enables a GUI checkbox; therefore loop selection persists beyond the duration of the
mark-up-loops
action and applies to downstream analyses, such as Dependencies and Memory Access Patterns analyses. The
collect
action coupled with the
mark-up-list
action option simulates enabling a GUI checkbox; therefore loop selection persists only for the duration of the
collect
action.
Example
  1. Run a Survey analysis to identify loops of interest.
  2. Select those loops for deeper analysis.
$ advisor --collect=survey --project-dir=./myAdvisorProj -- ./bin/myTargetApplication $ advisor --mark-up-loops --select=foo.cpp:34,bar.cpp:192 --project-dir=./myAdvisorProj -- ./bin/myTargetApplication

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.