英特尔® 跟踪分析器和跟踪采集器

Navigating Timelines

In addition to the menu entries and shortcuts, there are two more ways to navigate the time interval in Intel® Trace Analyzer:

  1. Use the scroll bar found below the timelines

  2. Use the mouse to zoom into a time interval

Similar to the keystrokes, these operations manipulate the zoom stack.

Flat Profile

By default, the Flat Profile summarizes all major groups of functions and presents statistics over the processes. The exact contents of these groups depend on the group definitions stored in the trace file or you can define them by yourself. In the file poisson_icomm.single.stf, these are only MPI and Application groups.

Imbalance Diagram Dialog Box

The Imbalance Diagram enables you to compare the performance between a real trace and an ideal trace.

Use the Imbalance Diagram total mode to see the time spent on calculation, interconnect, and imbalance as well as the time distribution between them. The diagram displays the time distribution in different colors.

Use the Imbalance Diagram breakdown mode to see:

  1. how three most time-consuming functions of the application work

Developing Simulators

The Intel® Trace Analyzer installation includes examples of a simulator. You can customize the examples of the simulator library to create your own simulator.

The examples are located in: <trace_analyzer_install_dir>/examples/icpf

You can see the following files in this directory:

Configuration

Which errors are checked for at runtime is configurable: all errors have a unique name and are categorized in a hierarchy similar to functions. For example, LOCAL:MEMORY:OVERLAP is a local check which ensures that memory is not used twice in concurrent MPI operations. The CHECK configuration option matches against these full names of each supported error and turns it on or off, like this:

Request Handling

(LOCAL:REQUEST)

When the program terminates Intel® Trace Collector prints a list of all unfreed MPI requests together with their status. Unfreed requests are usually currently active and application should have checked their status before terminating. Persistent requests can also be passive and need to be freed explicitly with MPI_Request_free().

订阅 英特尔® 跟踪分析器和跟踪采集器