User Guide

Contents

Separate Data Collection Using advixe-cl

Use separate data collection with
advixe-cl
when
collect.py
is not applicable, for instance, for multi-rank MPI workloads.
To get the
advixe-cl
commands appropriate for your application, you can run the
collect.py
script with the
--dry-run
option. It prints
advixe-cl
command lines ready for copying and pasting. For example:
advixe-python <APM>/collect.py <project-dir> --config <config-file>
–-dry-run
-- <target> [target-options]
where
<APM>
is the
Offload Advisor
environment variable that points to script directory. Replace it with
$APM
on Linux* OS or
%APM%
on Windows* OS.
For details about
advixe-cl
options, refer to .
After running the
advixe-cl --collect=survey [options]
command, mark up regions for analysis with the
--markup generic
option of
collect.py
.
To collect data with
advixe-cl
, run the printed commands one by one. For example, the typical workflow might be as follows:
  1. Run Survey collection:
    advixe-cl --collect=survey --auto-finalize --stackwalk-mode=online --static-instruction-mix –-project-dir=<project-dir> -- <target> [target-options]
  2. Run the
    collect.py
    script to mark up specific regions with
    --markup <markup_type>
    option. For example, use
    --markup generic
    to mark up all regions and select the most profitable for analysis:
    advixe-python <APM>/collect.py <project-dir> --markup generic
  3. Run Trip Counts and FLOP collection:
    advixe-cl --collect=tripcounts --flop --stacks –-enable-cache-simulation --cache-config=<cache-configuration> --enable-data-transfer-analysis --project-dir=<project-dir> -- <target> [target-options]
  4. [Optional]: Run Dependencies collection. This improves model accuracy but increases analysis overhead. Dependencies collection is not required for analyzing existing parallel regions but strongly recommended for generic analysis, which is the default mode. For example, you can use the following command to run Dependencies collection:
    advixe-cl –-collect=dependencies --filter-reductions --loop-call-count-limit=16 --project-dir=<project-dir> -- <target> [target-options]
To collect data for
MPI workloads
with
Intel® Advisor Beta
, you need to adjust the command examples above using the
mpiexec
with the
advixe-cl
command. The general form of the
mpiexec
command is:
$ mpiexec -n <N> "advixe-cl --collect=<analysis-type> --project-dir=<project-dir> --search-dir src:r=<sources-dir> [options]" <target> [target-options]
For example, to collect survey data for all ranks into the shared
./advi
project directory, run the following command:
$ mpirun -n 4 "advixe-cl --project-dir=./advi --collect=survey" myApplication
To collect survey data for a single rank only, run the following command:
$ mpirun -n 4 -gtool "advixe-cl --project-dir=./advi --collect=survey :0" myApplication
For more information about analyzing MPI applications, refer to .
  • For multi-process workloads that include a parent script, Python* or other process and a child process with usercode of interest: if you want to analyze a child process, you must additionally specify its name with the
    --executable-of-interest
    option when running the Dependencies collection:
    advixe-cl --collect=dependencies --executable-of-interest=<child-binary> ...
    This is
    not
    required for the Survey and Trip Counts and FLOP steps because, by default, Survey and Trip Counts and FLOP profile all processes.
  • Attaching to a process is possible for Survey, but is not supported by Trip Counts and FLOP and Dependencies collections.
  • Using
    ittnotify
    marked-up binaries and launching analysis in a start-paused mode are supported for Survey and Trip Counts and FLOP steps only. For more information, refer to Pause/Resume Collection Using API Methods.
Once you have run collect.py, continue to run performance modeling with analyze.py. For steps, see Run Performance Modeling.

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