4.5. FUNCTION FILTERING
by clicking into the check box next to it. Furthermore, it is possible to select/deselect
multiple items at once. Therefore, mark the desired entries by clicking their names
while holding either the “Shift” or the “Ctrl” key. By holding the “Shift” key every item
in between the two clicked items will be marked. Holding the “Ctrl” key, on the other
hand, enables you to add or remove specific items from/to the marked ones. Clicking
into the check box of one of the marked entries will cause selection/deselection for all
of them.
Filter Object
Filter Criteria
Processes
Process Groups
Communicators
Process Hierarchy
Collective Operations
Communicators
Collective Operations
Messages
Message Communicators
Message Tags
I/O Events
I/O Groups
File Names
Operation Types
Table 4.2: Options of Filtering
4.5 Function Filtering
The filtering of functions in Vampir is controlled via the “Function Filter Dialog”, de-
picted in Figure 4.23. This dialog can be accessed via the main menu under “Filter →
Functions...”.
The filter can be enabled/disabled using the checkbox left hand side in the header
(“Show only functions that...”) of the dialog.
The “Function Filter Dialog” is build on the concept of filter rules. The user can define
several individual rules. The rules are explained in more detail in Chapter 4.5.1. The
header of the dialog defines how multiple rules are evaluated. One possibility is to build
up the filter in a way that combines the filter rules with an and relation. To choose this
mode “all” must be selected in the combo box in the header of the dialog. This means
that all rules must be true in order to produce the filter output. The other option is to
combine the rules with an or relation. To choose this mode “any” must be selected in
the combo box in the header of the dialog. In this case each rule is applied individually
to the trace file. The examples in Chapter 4.5.2 illustrate both modes.
46
CHAPTER 4. PERFORMANCE DATA VISUALIZATION
Figure 4.23: Function Filter Dialog
4.5.1 Filter Options
This chapter explains the various options available to build up filter rules.
Filtering Functions by Name
One way of filtering functions is by their name. This filter mode provides two different
options.
Name provides a text field for an input string. Depending on the options, all functions
whose names match the input string are shown. The matching is not case sensitive.
Available options:
• Contains: The given input string must occur in the function name.
• Does not contain: The given input string must not occur in the function name.
• Is equal to: The given input string must be the same as the function name.
• Is not equal to: The given input string must not be the same as the function
name.
• Begins with: The function name must start with the given input string.
• Ends with: The function name must end with the given input string.
47
4.5. FUNCTION FILTERING
List of Names provides a dialog that allows to directly select the desired set of func-
tions and function groups.
Available options:
• Contains: The selected functions are shown.
• Does not contain: The selected functions are filtered.
Filtering Functions by Duration
Functions can also be filtered by their duration. Duration of a function refers to the time
spent in this function from the entry to the exit of the function.
There are two options available:
• Is greater than: All functions whose duration time is longer than the specified
time are shown.
• Is less than: All functions whose duration time is shorter than the specified time
are shown.
Filtering Functions by Number of Invocations
The number of invocations of a function can also be used as filter rule. This criteria
refers to how often a function is executed in an application. There are two possible filter
rules in this mode.
Number of Invocations shows functions based on their total number of invocations in
the whole application run.
There are two options available:
• Is greater than: All functions whose number of invocations is greater than the
specified number are shown.
• Is less than: All functions whose number of invocations is less than the specified
number are shown.
Number of Invocations per Process shows functions based on their individual num-
ber of invocations per process. Hence, if the number of invocations of a function varies
over different processes, this function might be shown for some processes and filtered
for others.
There are two options available:
• Is greater than: All functions whose number of invocations is greater than the
specified number are shown.
48
CHAPTER 4. PERFORMANCE DATA VISUALIZATION
• Is less than: All functions whose number of invocations is less than the specified
number are shown.
4.5.2 Examples
In this chapter a few examples explain the usage of the function filter. This enables the
user to understand the basic principles of function filtering in Vampir “at a glace”. It
also illustrates a part of the set of available filter options provided by Vampir.
Unfiltered Trace File
This section introduces the example trace file in an unfiltered state. The timelines show
a part of the initialization of the WRF weather forecast code. The red color corresponds
to communication (MPI), whereas the purple areas represent some input functions of
the weather model.
Figure 4.24: Master Timeline and Process Timeline without filtering
49
Dostları ilə paylaş: |