Get Started

  • 2021
  • 03/26/2021
  • Public Content

Get Started with Intel® Trace Analyzer and Collector for Windows* OS

Prerequisites

  1. Make sure you have the following software installed:
    • Microsoft Visual Studio* IDE
    • Intel oneAPI DPC++/C++ Compiler Pro or Intel® Fortran Compiler
    • Intel MPI Library
    • Intel Trace Analyzer and Collector
    All of the Intel products above are available as part of the Intel oneAPI HPC Toolkit.
  2. Set up the environment by running the
    setvars.bat
    script available in the installation directory (by default,
    Program Files (x86)\Intel\oneAPI\itac
    ).
    This sets the required environment variables for compilers, the Intel MPI Library, and Intel Trace Analyzer and Collector, and you are ready to trace your applications.
For more details, see the HPC Kit Get Started Guide. For system requirements, refer to the Release Notes.

Trace Your Application

  1. Compile your application with the
    -trace
    option. For example:
    > mpiicc -trace myApp.c
  2. Run your MPI application, using the
    mpiexec
    command to generate a trace file. For example:
    > mpiexec -n 4 myApp.exe
A trace file
.stf
is generated, for example
myApp.stf
. For more details on tracing, see Intel Trace Collector User and Reference Guide.

Analyze the Application Behavior

  1. Open the generated
    .stf
    file in Intel Trace Analyzer:
    > traceanalyzer myApp.stf
  2. Start analyzing your application, using various charts and timelines. As a starting point, use the
    Summary Page
    to get the following information:
    • General information about your application
    • Recommendations on where to start the analysis
For detailed description of the available charts and diagrams, see Intel Trace Analyzer User and Reference Guide.

Graphical User Interface

Intel Trace Analyzer and Collector has a full-color customizable GUI with charts and drill-down view options.
The analyzer is able to rapidly unwind the call stack and use debug information to map instruction addresses to source code.
With both command-line and GUI interfaces, you can additionally set up batch runs or do interactive debugging.
  • Trace Map
    represents a miniature view of the MPI functions activity over time. It also enables you to zoom into relevant subsets of a trace file on all open charts.
  • Event Timeline
    is the most common chart, which provides a graphical display of individual process activities over time. It enables you to get detailed impression of the program structure, as well as retrieve detailed event information. Horizontal bars represent processes with functions called in them.
  • Quantitative Timeline
    shows how many processes are executing the same functions at a given point in time. It enables you to get the impression on parallelism and load balance in your application. As in all other charts, MPI functions are represented in shades of
    red
    , serial code — in
    blue
    .
  • Time Scale
    for the currently open timelines displays with the currently selected time interval.
  • Function Profile
    provides an overview of all functions used in the application. It consists of four tabs:
    • Flat Profile is a simple overview of all functions.
    • Load Balance shows how long each function executed for
      all
      processes.
    • Call Tree shows the call stack.
    • Call Graph shows calling dependencies.
  • Message Profile
    shows statistics about point-to-point operations. It categorizes messages by groupings in a matrix, and shows values of the selected attribute in each cell. By default, the Message Profile shows how long messages took to send for each pair of sender/receiver processes. Cell colors represent the message send time, relative to other process pairs, red being the longest.
  • Collective Operations Profile
    s similar to the Message Profile, but it shows statistics about collective operations. As in the Message Profile, you can configure the columns, rows and attributes to show, and compare the attribute values for each pair. By default, this profile shows how long each operation took to complete for each process. Cell colors represent the operation execution time, relative to other processes/operations, red being the longest.
  • Toolbar
    provides easy access to the most frequently used Intel Trace Analyzer functionality.
Hover over a GUI element for short description, or click for more details.

Key Features

MPI Correctness Checking
The MPI Correctness Checker detects deadlocks, data corruption, and errors with MPI parameters, data types, buffers, communicators, point-to-point messages, and collective operations.
The Correctness Checker enables you to scale to large systems and detect errors even among a large number of processes.
Performance Assistant
Identify performance issues in your application using the Performance Assistant, which provides the following information:
  • Detailed description of the issue and recommendations on how to resolve it.
  • Information about the affected processes.
  • Regions in the source code that caused the issue.
Ideal Environment Simulation
Understand application imbalance and estimate a potential application speedup after MPI implementation tuning and/or network upgrades by using the Idealization capability.
User-Level Instrumentation
Control the profiling library and record user-defined activities, define groups of processes, define performance counters and record their values using the Intel® Trace Collector API.
Automatically instrument all your application functions with the Intel® compilers to analyze them with Intel Trace Analyzer.

Training and Documentation Resources

Visit the Intel Trace Analyzer and Collector page on for training and documentation resources including user guides, videos, webinars, featured articles, and more.
Refer to the Release Notes for product updates and system requirements.

Product and Performance Information

1

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