3.6. PROPERTIES OF THE TRACE FILE
first group represents timeline charts, whose zooming states affect all other charts. The
second group consists of statistical charts, providing special information and statistics
for a chosen interval. Vampir allows multiple instances for charts of these categories.
The last group comprises of informational charts, providing specific textual information
or legends. Only one instance of an informational chart can be opened at a time.
3.6 Properties of the Trace File
Vampir provides an info dialog containing important characteristics of the opened trace
file. This “Trace Properties” dialog can be accessed via the main menu under “File →
Get Info”. The information originates from the trace file and includes details such as
file name, creator, or the OTF version.
24
CHAPTER 4. PERFORMANCE DATA VISUALIZATION
4 Performance Data Visualization
This chapter deals with the different charts that can be used to analyze the behavior
of a program and the comparison between different function groups, e.g. MPI and
Calculation. Communication performance issues are regarded in this chapter as well.
Various charts address the visualization of data transfers between processes. The
following sections describe them in detail.
4.1 Timeline Charts
A very common chart type used in event-based performance analysis is the so-called
timeline chart. This chart type graphically presents the chain of events of monitored
processes or counters on a horizontal time axis. Multiple timeline chart instances can
be added to the “Trace View” window via the “Chart” menu or the “Charts” toolbar.
Note: To measure the duration between two events in a timeline chart Vampir provides
a tool called Ruler. In order to use the Ruler hold the “Shift” key pressed while clicking
on any point of interest in a timeline chart and moving the mouse while holding the left
mouse button pressed. A ruler like pattern appears in the timeline chart which provides
the exact time between the start point and the current mouse position.
4.1.1 Master Timeline and Process Timeline
In the “Master Timeline” and the “Process Timeline” detailed information about func-
tions, communication, and synchronization events is shown. Timeline charts are avail-
able for individual processes (“Process Timeline”) as well as for a collection of pro-
cesses (“Master Timeline”). The “Master Timeline” consists of a collection of rows.
Each row represents a single process, as shown in Figure 4.1. A “Process Timeline”
shows the different levels of function calls in a stacked bar chart for a single process
as depicted in Figure 4.2.
Every timeline row consists of a process name on the left and a colored sequence
of function calls or program phases on the right. The color of a function is defined
by its group membership, e.g., MPI Send() belonging to the function group MPI has
the same color, presumably red, as MPI Recv(), which also belongs to the function
group MPI. Clicking on a function highlights it and causes the “Context View” display to
25
4.1. TIMELINE CHARTS
Figure 4.1: Master Timeline
Figure 4.2: Process Timeline
26
CHAPTER 4. PERFORMANCE DATA VISUALIZATION
Figure 4.3: Selected MPI Collective in Master Timeline
show detailed information about that particular function, e.g., its corresponding function
group name, time interval, and the complete name. The “Context View” display is
explained in Chapter 4.3.3.
Some function invocations are very short. Hence these are not shown in the overall
view due to a lack of display pixels. A zooming mechanism is provided to inspect a
specific time interval in more detail. For further information on zooming see Section 3.3.
If zooming has been performed, scrolling in horizontal direction is possible with the
mouse wheel or the scroll bar at the bottom.
The “Process Timeline” resembles the “Master Timeline” with slight differences. The
chart’s timeline is divided into levels, which represent the different call stack levels of
function calls. The initial function begins at the first level, a sub-function called by that
function is located a level beneath and so forth. If a sub-function returns to its caller,
the graphical representation also returns to the level above.
In addition to the display of categorized function invocations, Vampir ’s “Master-” and
“Process Timeline” also provide information about communication events. Messages
exchanged between two different processes are depicted as black lines. In timeline
charts, the progress in time is reproduced from left to right. The leftmost (starting)
point of a message line and its underlying process bar therefore identify the sender of
the message, whereas the rightmost position of the same line represents the receiver
of the message. The corresponding function calls usually reflect a pair of MPI com-
munication directives like MPI Send() and MPI Recv(). Collective communication like
MPI Gatherv() is also displayed in the “Master Timeline” as shown in Figure 4.3.
Furthermore, additional information like message bursts, markers and I/O events is
available. Table 4.1 shows the symbols and descriptions of these objects.
Since the “Process Timeline” reveals information of one process only, short black ar-
rows are used to indicate outgoing communication. Clicking on message lines or ar-
rows shows message details like sender process, receiver process, message length,
message duration, and message tag in the “Context View” display.
The “Master Timeline” also provides the possibility to search for function and function
group occurrences. In order to activate the search mode use the context menu and se-
lect “Find...”. After activation an input field appears at the top of the “Master Timeline”.
27