User Guide

Contents

Analysis Target Options

Manage the analysis of your target using target specific configuration options provided in the
Configure Analysis
window.
To access target configuration options:
  1. Open the
    Configure Analysis
    window.
  2. Choose a target system on the
    WHERE
    pane.
  3. Choose a target type on the
    WHAT
    pane and configure the options below.
To create a command line configuration for a target not accessible from the current host, choose the
Arbitrary Host
target system on the
WHERE
pane. Make sure to choose an operating system your target will be running with:
Windows
or
GNU/Linux
and a hardware platform.
Target options vary with the selected target system and target type (
Launch Application
,
Launch Android Package
,
Attach to Process
, or
Profile System
).

Basic Options

Use This
To Do This
Inherit settings from Visual Studio* project
check box (supported for Visual Studio IDE only)
Enable/disable using the project currently opened in Visual Studio IDE and its current configuration settings as a target configuration. Checking this check box makes all other target configuration settings unavailable for editing.
Inherit system environment variables
check box
Inherit and merge system and user-defined environment variables. Otherwise, only the user-defined variables are set.
Launch Application options:
Application
field
Specify a full path to the application to analyze, which can be a binary file or script.
Application parameters
field
Specify input parameters for your application.
Use application directory as working directory
check box
Automatically match your working and application directory (enabled by default). An
application directory
is the directory where your application resides. For example, for a Linux application
/home/foo/bar
the application directory is
/home/foo
. Application and working directories may be different if, for example, an application file is located in one directory but should be launched from a different directory (
working directory
).
Working directory
field
Specify a directory to use for launching your analysis target. By default, this directory coincides with the application directory.
Attach to Process options:
Process name
field
Identify the executable to analyze by its name.
PID
field
Identify the executable to analyze by its process ID (PID).
Click the
Select
button to see a list of currently available processes to attach to. As soon as you select a process of interest, the
VTune
Profiler
automatically populates the
Process name
fields with the data for the selected process.
Launch Android Package
options:
Package name
field
Specify the name of the Android* package (
*.apk
) to analyze.
To see Android applications and corresponding packages (
*.apk
) currently installed on the device targeted for analysis, click the
Select
button. You may choose to view only debuggable APKs by selecting the corresponding checkbox.
For performance analysis on non-rooted devices, compile your Android application setting the debuggable attribute to true (
android:debuggable="true"
) but make sure to set
APP_OPTIM
to
release
in your
Application.mk
to enable compilation with optimization.
Arbitrary Host
options:
Use MPI launcher
check box
Enable the check box to generate a command line configuration for MPI analysis. Configure the following MPI analysis options:
  • Select MPI launcher
    : Select an MPI launcher that should be used for your analysis. You can either enable the
    Intel MPI
    launcher option (default) or select
    Other
    and specify a launcher of your choice.
  • Number of ranks
    : Specify the number of ranks used for your application.
  • Profile ranks
    : Use
    All
    to profile all ranks, or choose
    Selective
    and specify particular ranks to profile, for example: 2-4,6-7,8.
  • Result location
    : Specify a relative or absolute path to the directory where the analysis result should be stored.

Advanced Options

Use the
Advanced
section to provide more details on your target configuration.
Use This
To Do This
User-defined environment variables
field
Type or paste environment variables required for running your application.
Managed code profiling mode
menu
Select a profiling mode for managed code.
Managed
mode attributes data to managed source and only collects managed portion.
Native
mode collects everything but does not attribute data to managed source.
Mixed
mode collects everything and attributes data to managed source where appropriate.
Automatically resume collection after (sec)
Specify the time that should elapse before the data collection is resumed. When this options is used, the collection starts in the paused mode automatically.
Automatically stop collection after (sec)
Set the duration of data collection in seconds starting from the target run. This is useful if you want to exclude some post-processing activities from the analysis results.
Analyze child processes
check box
Collect data on processes launched by the target process. Use this option when profiling an application with the script.
Selecting this option enables the
Per-process Configuration
where you can specify child processes to analyze. For example, if your target application calls shell or makes processes, you can choose to exclude them from analysis and focus only on the processes you develop.
The
Default
process configuration represents how all processes should be analyzed. This line cannot be removed, but can be customized. Depending on your choice, you may include/exclude from the data collection specific processes (
self
value) and the child processes they spawn (
children
value).
This option is not applicable to hardware event-based analysis types.
Duration time estimate
menu
This option is deprecated. Use the
CPU sampling interval
option on the
HOW
configuration pane instead.
Estimate the application duration time. This value affects the size of collected data. For long running targets, sampling interval is increased to reduce the result size. For hardware event-based sampling analysis types, the
VTune
Profiler
uses this estimate to apply a multiplier to the configured sample after value.
Allow multiple runs
check box
Enable multiple runs to achieve more precise results for hardware event-based collections. When disabled, the collector multiplexes events running a single collection, which lowers result precision.
Analyze system-wide
check box
Enable analyzing all processes running on the system. When disabled, only the target process is analyzed.
This option is applicable to hardware event-based sampling analysis types only.
Limit collected data by
section
If the amount of raw collected data is very large and takes long to process, use any of the following options to limit the collected data size:
  • Result size from collection start, MB
    : Set the maximum possible result size (in MB) to collect.
    VTune
    Profiler
    will start collecting data from the beginning of the target execution and suspend data collection when the specified limit for the result size is reached. For unlimited data size, specify 0.
  • Time from collection end, sec
    : Set the timer enabling the analysis only for the last seconds before the target run or collection is terminated. For example, if you specified 2 seconds as a time limit, the
    VTune
    Profiler
    starts the data collection from the very beginning but saves the collected data only for the last 2 seconds before you terminate the collection.
The size of data stored in the result directory may not exactly match the specified result size due to the following reasons:
  • The collected data may slightly exceed the limit since the
    VTune
    Profiler
    only checks the data size periodically.
  • During finalization, the
    VTune
    Profiler
    loads the raw data into a database with additional information about source and binary files.
CPU mask
field
Specify CPU(s) to collect data on (for example: 2-8,10,12-14). This option is applicable to hardware event-based analysis types only.
Custom collector
field
Provide a command line for launching an external collection tool, if any. You can later import the custom collection data (time intervals and counters) in a CSV format to a
VTune
Profiler
result.
Select finalization mode
section
Finalization may take significant system resources. For a powerful target system, select
Full
mode to apply immediately after collection. Otherwise, shorten finalization with selecting the
fast
mode (default) or defer it to run on another system (compute checksums only).
Wrapper script
field
Provide a script that is launched on the target system before starting the collection. On the host system, you can prepare a custom script that prepares the target environment and calls the
VTune
Profiler
collector in this environment.
An example of the wrapper script:
#!/bin/bash # Prefix script echo "Target process PID: $VTUNE_TARGET_PID" # Run VTune collector "$@" # Postfix script ls -la $VTUNE_RESULT_DIR
You can use the script to perform any actions available through the CLI of your target operating system, and use
"$@"
or
"$*"
to pass all arguments into the script and start
VTune
Profiler
collection in this environment.
The following environment variables are available from the script:
VTUNE_TARGET_PID VTUNE_TARGER_PROC_NAME VTUNE_RESULT_DIR VTUNE_TEMP_DIR VTUNE_TARGET_PACKAGE_DIR VTUNE_DATA_DIR VTUNE_USER_DATA_DIR
  • VTune
    Profiler
    preserves the content of the script. The script is preserved within the project and is run for every analysis within that project. To apply any changes to the script, attach it again using the same
    Wrapper script
    field.
  • For Linux targets, make sure that the script file is saved with LF line endings.
Result location
options
Select where you want to store your result file. By default, the result is stored in the project directory.
Trace MPI
check box (Linux* targets only)
Configure collectors to trace MPI code and determine MPI rank IDs in case of a non-Intel MPI library implementation.
Analyze KVM guest OS
check box (Linux targets only)
Enable KVM guest system profiling. For proper kernel symbol resolution, make sure to specify:
  • a local path to the
    /proc/kallsyms
    file copied from the guest OS
  • a local path to the
    /proc/modules
    file copied from the guest OS
Android Device
options:
Analyze unplugged device
check box
Enable collection on an unplugged device to exclude ADB connection and power supply impact on the results. When this option is used, you configure and launch an analysis from the host but data collection starts after disconnecting the device from the USB cable or a network. Collection results are automatically transferred to the host as soon as you plug in the device back.
Arbitrary Host
options:
Select a system for result finalization
options
The result can be finalized on the same target system where the analysis is run (default). In this case make sure your target system is powerful enough for finalization. If you choose to finalize the result on another system,
VTune
Profiler
will only compute module checksums to avoid an ambiguity in resolving binaries on a different system.

Support Limitations

  • VTune
    Profiler
    provides limited support for profiling Windows* services. For details, see Profiling Windows Services article on the web.
  • System-wide profiling is not supported for the user-mode sampling and tracing collection.
  • For driverless event-based sampling data collection,
    VTune
    Profiler
    supports local and remote Launch Application, Attach to Process and Profile System target types but their support fully depends on the Linux Perf profiling credentials specified in the
    /proc/sys/kernel/perf_event_paranoid
    file and managed by the administrator of your system using root credentials. For more information, see the
    perf_event related configuration files
    topic at http://man7.org/linux/man-pages/man2/perf_event_open.2.html. By default, only user processes profiling at the both user and kernel spaces is permitted, so you need granting wider profiling credentials via the
    perf_event_paranoid
    file to employ the Profile System target type.

What's Next

In the
HOW
pane, select an analysis type applicable to the specified target type and click
Start
to run the analysis.
You can launch an analysis only for targets accessible from the current host. For an
arbitrary
target, you can only generate a command line configuration, save it to the buffer and later launch it on the intended host.

Product and Performance Information

1

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