MPI Call Statistics dialog

Linaro MAP collects data and statistics from all MPI calls made on the main thread of each process, regardless of whether it has been sampled. The MPI Call Statistics dialog provides a breakdown of these non-sampled statistics, breaking it down per MPI function.

To open this dialog use the View ‣ MPI Call Statistics menu option, or click the Show the ‘MPI Call Statistics’ dialog button in the toolbar.

Note

This dialog is only available if there were MPI calls detected during the run and is disabled when profiling non-MPI programs.

MPI call table and statistics

The table at the top of the dialog shows statistics for each MPI function called. Values in this table are the mean value across all processes. The table can be sorted by any one of these columns.

The following values are recorded:

#Calls

The number of times that MPI function has been called.

Time in calls

The total time spent within that function throughout the whole runtime.

Bytes sent

The number of bytes that function has sent.

Bytes received

The number of bytes that the function has received.

In addition to the actual MPI functions, there are also entries which include the totals of all calls categorized as either point-to-point or collective.

MPI call statistics table

By selecting a row in the table, a further breakdown of the MPI call will be displayed in the widget below. This breakdown further includes the minimum, maximum and standard deviation across all processes as well as a histogram (see MPI call histogram for more details).

An example of a MPI call statistics breakdown

Note

All the data shown in this dialog is always across the entire sample runtime. As such, the statistics do not changed if you select a particular region within the main Linaro MAP window.

MPI call histogram

Alongside the MPI call statistics, selecting an MPI function from the table will also display a relevant histogram. The histogram has two modes which can be toggled between using the radio buttons below the MPI call statistics:

Message size in each call

Show counts for the size of messages being transferred by the selected MPI function. In this case, each message is counted separately. For example, if a function both sends and receives a message, the sizes will be counted twice. Some functions such as MPI_Barrier do not send any data and so no histogram will be displayed.

Time in each call

Shows counts for the time that each call of the selected MPI function took.

An example of a MPI call histogram

The histogram shows the minimum, mean and maximum across all sampled processes. The x-axis shows the range for each bin, including values more than the last bin range; up to and including the value specified.

Hovering over a bar will bring up a tooltip, showing a more detailed breakdown of the values and ranges of that bin.