6.2. Comparison Charts

6.2.1. The Comparison Function Profile

The Comparison Function Profile is very similar to the regular Function Profile. It does not have the pie diagrams in the Load Balance tab and no Call Graph tab at all.

Figure 6-5. A Comparison Function Profile Chart

The column headers are the same as in the regular Function Profile with the exception of the first column. In the Comparison Function Profile this column header is used to display the currently selected comparison operation. This operation can be selected from the context menu (see below).

Wherever the regular Function Profile shows the name of a function, function group, process, or process group the Comparison Function Profile shows either a pair of mapped names formatted as "NameA; NameB" if the names are different, "A unmapped; NameB" or vice versa if there is no mapping for one file or just as "Name" if the names are equal for both files.

Figure 6-5 shows a case where MPI_Sendrecv in A was replaced by MPI_Isend, MPI_Recv and MPI_Waitall in B. Note that the first column of the profile flags which functions are present in which trace. The other columns indicate for which of the traces there was valid data. When there is only valid data from one file, no meaningful comparison can be done.

Even for a function "F" that is present in both traces the currently selected time intervals (or aggregations, or filters) can have the effect that there is no data from one of the traces. In this case the first column would carry the label "F" since the mapping is ok but the other columns would have "A only" or "B only" respectively.

Figure 6-6. Undefined fields in the profile due to the chosen aggregations

If you choose "Major Function Groups" and "All Functions" for the function aggregation in both runs then all fields will show remarks indicating that no comparison could be made because of lacking data - at least as long as the current comparison operation needs data from A and B. If you switch to a comparison operation of A or B then the respective fields will show values even when the function aggregations do not fit. Figure 6-6 shows such a case: there is data for run A and B but in the rightmost profile there is nothing to calculate the comparison operation B/A on.

The horizontal bars in the graphical columns work similar to the regular Function Profile except when the comparison operation is set to A/B or B/A. In this case the length of the bars is proportional to the logarithm of the given value. A value of for example 1/5 results in a bar from the middle to the left, while a value of 5 results in a bar of the same length but from the middle to the right. So switching between A/B and B/A will mirror the bars around the middle. Please note that the full column width shows at least the range from 1/2 to 2 so that factors near to 1 do not generate big bars that would invite to misinterpret them as very big changes between the two runs.

The context menu of the Comparison Function Profile is pretty much the same as the one found in the regular Function Profile (refer to Section 4.5.5.2) with the addition of a submenu to choose the comparison operation. See below.

The settings dialog of the Comparison Function Profile is the same as the one for the regular Function Profile (refer to Section 4.5.5.1) with an additional tab that allows to switch the comparison operation.

Figure 6-7. The Comparison Function Profile's context menu with the available comparison operations

6.2.2. The Comparison Message Profile

The Comparison Message Profile is very similar to the regular Message Profile. Figure 6-8 shows a Comparison Message Profile with poisson_sendrecv.single.stf as run A and poisson_icomm.single.stf as run B.

Figure 6-8. The Comparison Message Profile

The values shown in the cells are calculated using the currently selected comparison operation shown in the title of the Chart. The comparison operation can be switched from the context menu or from the settings dialog. If the comparison operation makes use of A and B and only one of the values is present for a given cell, then this cell is labeled with "A" or "B" indicating for which trace data is present. If there is no data at all the cell is left empty.

Some groupings are dependent on the mapping rules in that they either use processes, process groups or communicators as row or column labels. If differing labels are mapped onto the same column or row then the label is made up of two lines with the first line holding the label for file A and the second for file B. This can happen for the groupings Sender, Receiver, Sender/Receiver and Communicator. In Figure 6-8 the process aggregation is "All_Processes" for one file and "All_Nodes" for the other which results in double line labels in the profile.

There can be cases where a whole row or column does not apply to one of the traces. In these cases the double line label holds "A missing" or "B missing". This can happen for the groupings Sender, Receiver and Sender/Receiver that may have unmappable TGroups in the labels or for groupings like Tag, Communicator or Volume that directly depend on the data that is present in the trace. The Settings Dialog box of the Comparison Message Profile has means to suppress such rows and columns, but they are shown by default.

The Context Menu of the Comparison Message Profile is pretty much the same as in the normal Message Profile (refer to Section 4.6.3, with the difference that it has an additional entry, Comparison Operation, where the type of comparison can be selected from a submenu.

The Settings Dialog box of the Comparison Message Profile is pretty much the same as for the normal Message Profile (refer to Section 4.6.2. In the Preferences tab there are two additional check boxes to suppress rows or columns that only apply to one trace and the Data tab has an additional combo box to choose the comparison operation.

Figure 6-9. Available Comparison Operations

6.2.3. The Comparison Collective Operations Profile

The Comparison Collective Operations Profile is very similar to the regular Collective Operations Profile. The values shown in the cells are calculated using the currently selected comparison operation shown in the title of the Chart. The comparison operation can be switched from the context menu or from the settings dialog.

Regarding missing values and unmappable column or row labels the Comparison Collective Operations Profile behaves identically to the Comparison Message Profile (refer to Section 6.2.2).

Figure 6-10. The Comparison Collective Operations Profile

The Context Menu of the Comparison Collective Operations Profile is pretty much the same as in the normal Collective Operations Profile (refer to Section 4.7.3), with the difference that it has an additional entry, Comparison Operation, where the type of comparison can be selected from a submenu.

The Settings Dialog box of the Comparison Collective Operations Profile is pretty much the same as for the normal Collective Operations Profile (refer to Section 4.7.2. In the Preferences tab there are two additional check boxes to suppress rows or columns that only apply to one trace and the Data tab has an additional combo box to choose the comparison operation.