The Message Profile Chart categorizes messages by groupings in a matrix and shows the value of several attributes in each cell.
By default the matrix is square with the sending processes as row labels and the receiving processes as column labels. It shows in cell (i, j) the total time spent in transferring messages from sender i to receiver j.
This chart also includes per row and per column statistics, which give the sum, the average and the standard deviation for the respective row or column.
The grouping that defines the row and column headers of this matrix and therefore the categorization of the data are changed in the context menu and the settings dialog box. Available groupings in addition to Sender and Receiver are for example Tag and Communicator.
The attribute shown in the cells is chosen via the context menu or the settings dialog box. Apart from the Total Time shown by default there are other time values, transfer rates, volumes, and counts.
The cell sizes can either be set automatically or manually. If manual sizing is selected you can change the size of the cell by using the slider above the matrix. If the cells are too small to display numeric data, hover your mouse over a cell and view data in the status bar.
The number formatting options are preset globally via the Number Formatting Settings dialog (refer to Section 5.13). To increase the number of digits locally by three (or one) digits press the key "+" (or CTRL"+"). Use the keys "-" (or CTRL"-") to revert this action. Notice that the exact effect of asking for additional digits depends on the format chosen in the Number Formatting Settings dialog for the respective unit.
You can restrict the display to a rectangular area of the matrix. To select rows or columns click on row or column headers. For an arbitrary area of the matrix keep the mouse button pressed and select the respective cells. To restrict the display to the selection, right-click and select Zoom to Selection from the context menu. To change the position of the row and column headers, hold down the Ctrl key and drag the header to the required position.
When the mouse is positioned over any point in the matrix then detailed information for the current position is shown in the View's status bar in the form "$AttributeValue ($RowLabel, $ColumnLabel)". This allows getting exact attribute values even if the cells are configured to be very small or to show no alphanumerical entries at all.
The Settings dialog box provides three tabs: Preferences, Colors and Data.
The Display group provides check boxes and radio buttons to configure some visual details. The check boxes Row Labels and Column Labels switch the respective row and column headers. The check box Scale switches the colored scale next to the matrix. The check box Grid shows/removes the black grid shown between cells.
The checkbox Keep Empty Rows/Columns when using Sender/Receiver Groupings switches a special feature on/off. This feature is only relevant for the Groupings Sender and Receiver. For these groupings, a checked state indicates that all processes should always be shown, like for example, showing even empty rows and columns. That keeps the form of the matrix constant and makes it easy to look for patterns in the data. An unchecked state means that empty rows and columns even for these groupings are suppressed. All other groupings suppress empty rows and columns to save screen space regardless of the state of this check box.
The radio buttons Communicator Names and Communicator Ids allow to either see helpful communicator names (if available in the trace file) that may take a lot of valuable screen space or to restrict the display to show only concise communicator ids.
The Layout group allows switching between two fundamentally different modes for the layout of the matrix. By default the mode is Automatic Cell Sizes and the cell sizes are adjusted to make all text readable. In this mode checking Equal Cell Sizes basically results in equal column widths and enables the check box Square Cell Sizes to get square cells. The other options of the Layout group are disabled by default.
Choosing Manual Cell Sizes allows specifying the size of the cells in pixels either in the Cell Size group at the bottom of the tab or using the slider that is available on top of the matrix as soon as this setting is applied. In this mode, the alphanumerical data in the cells is displayed only if it fits or if it is switched off entirely by un-checking the check box Text in Cells. By default, Manual Cell Sizes is checked.
The push buttons Maximum Color and Minimum Color allow choosing the colors for the maximum and minimum attribute values. The text input field allows specifying the number of color steps (1-255).
The chosen colors are considered as points in a color space and the colors of the scale are interpolated on a line through color space connecting these two points. The combo box to the right of the text input field allows using either the HSV or the RGB color space. HSV is more fancy and colorful, but RGB is often more useful and readable. For monochrome printing, it is advisable to choose a very light and a very dark color. Choosing white for the minimum and black for the maximum is not at all bad.
By checking the box Manual Scaling it is possible to specify the minimum and maximum values for the color scale in the two text input fields below. This is very convenient when comparing two Message Profile Charts that may live in different Views.
The Grouping group provides two combo boxes to choose the row and column headers or better said to choose how the data is grouped into categories. The groupings for rows and columns are chosen independently. However not all combinations are possible. It is not possible to have the same grouping for rows and columns and it is not possible to have Sender/Receiver at one axis and any one of Sender or Receiver on the other axis.
The available groupings are:
Categorizes the messages by Sender. The exact labels are defined by the current thread group that is given by the View (see Chapter 3).
Categorizes the messages by Receiver. The exact labels are defined by the current process group that is given by the View (see Chapter 3).
Categorizes the messages by Sender/Receiver pairs. The exact labels are defined by the current process group that is given by the View (see Chapter 3).
Categorizes the messages by the MPI tag assigned to the message by the program at the sender side.
Categorizes the messages by the MPI communicator. The labels are either communicator ids or names. Names are displayed if they are available in the trace file and if they are chosen in the Preferences tab of the Message Profile Settings dialog box.
Categorizes the messages by their Volume; for example, size in bytes. This is seen in Figure 4-38, where only messages with a volume of 2000 bytes were sent.
Categorizes the messages by the function that sends them. Labels are names of MPI functions such as MPI_Irsend. This categorization is not influenced by the current Function Aggregation.
Note: This information is only available with traces created by the Intel Trace Collector Version 6 and higher.
Categorize the messages by the function that receives them. Labels are names of MPI functions like MPI_Waitany. This is not influenced by the current Function Aggregation.
Note: This information is only available with traces created by the Intel Trace Collector 6 and higher.
The Datum group allows choosing which attribute should be printed or painted in the cells. The available attributes are:
Total Time, [s] or [tick]
The total travel time of the messages, accumulated over all messages that fall into this cell. The unit is either [s] or [tick] depending on the View setting.
Minimum Time, [s] or [tick]
The minimum travel time of a message, minimized over all messages that fall into this cell. The unit is either [s] or [tick] depending on the View setting.
Maximum Time, [s] or [tick]
The maximum travel time of a message, maximized over all messages that fall into this cell. The unit is either [s] or [tick] depending on the View setting.
Average Transfer Rate, [B/s]
The average transfer rate, averaged over the transfer rates of all messages that fall into this cell. Messages are not weighted; for example, transfer rates of short messages have the same impact as transfer rates of long messages.
Minimum Transfer Rate, [B/s]
The minimum transfer rate, minimized over all messages that fall into this cell.
Maximum Transfer Rate, [B/s]
The maximum transfer rate, maximized over all messages that fall into this cell.
Total Data Volume, [B]
The total data volume, accumulated over all messages that fall into this cell.
Minimum Data Volume, [B]
The minimum data volume, minimized over all messages that fall into this cell.
Maximum Data Volume, [B]
The maximum data volume, maximized over all messages that fall into this cell.
The number of messages that fall into this cell.
The group Row Statistics allows switching the individual columns on or off. These columns hold the statistics for the rows.
The group Column Statistics allows switching the individual rows on or off. These hold the statistics for the columns.
The context menu provides shortcuts with which the attributes and groupings are selected. To do this, use the entries Attribute to show, Columns show and Rows show. These entries are the same as those explained in Section 4.6.2 (Message Profile Settings dialog box).
The entry sort allows to sort rows by the values of the column clicked on, or to sort columns by the values in a row clicked on and to switch back to the default order. Switching back to the default order is also useful if the columns or rows were rearranged by dragging the row or column headers around (hold the Ctrl key down while dragging to do that).
When a given area of the matrix is selected, then the context menu provides entries to either zoom into/out of the selected area or to suppress the display of the selected area (all row and columns that are partially selected are suppressed).
If something is hidden then the context menu provides an entry Show All and the Hide submenu contains enabled entries to unhide all hidden rows or columns or all.
Actually the zoom feature of the Message Profile relies on storing the row and column labels to be suppressed. This can have surprising effects: if Volume is selected as row grouping and the rows with labels 17 and 19 are hidden, then scrolling into an area containing messages with volume 18 results in these messages being shown. To suppress all messages with certain volumes, use filtering (see Section 5.1).
The entry Export Data opens a File Save dialog box to select a file to store textual data in. This includes all data cells that contain at least one message, even if they are currently hidden. It does not contain row or column statistics. For each cell, it stores all available attributes.
Additionally the context menu contains the usual operations as described in Section 4.8.
Tagged cells are emphasized by a small additional frame around the cell in the color of the alphanumerical entry in the cell. A cell is tagged as soon as a single tagged message exists in that cell.
Messages that do not pass a filter are not accounted for and may result in a smaller matrix when this results in empty rows and columns. For more information on filtering and tagging, refer to Section 9.3.
The View's thread group influences the labels of the Sender, Receiver and Sender/Receiver groups. The View's function group has no influence. If the View shows the thread group "Other", then this results in additional rows and columns for the groupings Sender, Receiver and Sender/Receiver.