Definitions of the Attributes in the MPI Chart Controls
Data Type:
- Functions - Plot data about the MPI functions used by the program
- Messages - Plot data about the MPI messages sent between process ranks
Chart:
- Y Histogram - One dimensional chart with the data plotted on the vertical axis as a function of another metric on the horizontal axis. You must select the type of data to plot on the Y axis and the metric for the X axis.
- X Histogram - One dimensional chart with the data plotted on the horizontal axis as a function of time on the vertical axis. You must select the type of data to plot on the X axis, and the metric for the Y axis.
- 2-D chart - Two dimensional chart with data plotted on both X and Y axis, making a 2-D matrix or scatter plot. You must specify what to plot on the X and Y axis, and the metric.
X-Axis - Select the type of data to plot on the horizontal axis, for X Histogram or 2-D Chart
Y-Axis - Select the type of data to plot on the vertical axis, for Y Histogram or 2-D Chart.
Metric - Select what is shown as a function of X and/or Y. The metric value is indicated through color in the charts.
X-Axis, Y-Axis, and Metric options when looking at Functions:
- Time (range) - The range of times from entry to exit of a function
- Entry Time - The time when a function is called
- Exit Time - The time when a function returns to the caller
- Duration - The time difference between function entry and function exit
- Process - The MPI global ranks in numerical order. Each function call has a unique process rank associated with it.
- Function - The MPI function called.
- Send Bytes - Number of bytes sent in an MPI function call
- Receive Bytes - Number of bytes received in an MPI function call
- 1 (only for Metric) - Specifying 1 as the metric simply specifies an attribute whose value is always 1. This can be used to count data records or signal the presence or absence of data. For example, to count the number of function calls for each function, set Y Axis: Function, Metric: 1, Operation: Sum. To detect whether any function calls were made, set Operation: Maximum.
X-Axis, Y-Axis, and Metric option when looking at Messages:
- Time (range) - The range of time from send to receive of a message
- Send Time - The time that a message was sent
- Receive Time - The time that a message was received
- Duration - The time difference between send and receive of a message
- Send Process - The process that sent a message
- Receive Process - The process that received a message
- Communicator - An arbitrarily defined ID that uniquely labels the communicator (set of processes) used to send and receive the message
- Tag - The MPI tag used to identify the message
- Send Function - The function that sent the message
- Receive Function - The function that received the message
- Bytes - Number of bytes in the message
- 1 (only for Metric) - Specifying 1 as the metric simply specifies an attribute whose value is always 1. This can be used to count data records or signal the presence or absence of data. For example, to count the number of function calls for functions that send a message, set Y Axis: Send Function, Metric: 1, Operation: Sum. To detect whether any function calls were made for each function that sends a message, set Operation: Maximum.
Operator: How multiple metric values are combined in the chart
- Sum - calculates the sum of the selected Metric, which must be one of: Time, Duration, Send/Receive Bytes, or "1"
- Maximum - calculates the maximum value of the selected Metric, which must be one of: Time, Duration, Send/Receive Bytes, or "1"
- Minimum - calculates the minimum value of the selected Metric, which must be one of: Time, Duration, Send/Receive Bytes, or "1"
- Average - calculates the average value of the selected Metric, which must be one of: Time, Duration, Send/Receive Bytes, or "1"
- Fair - The Fair operator operates on any type of metric. When many metric values are all assigned to the same chart bin, the Fair operator picks a single one of those values "fairly". For example, let's say that 90% of the MPI messages use the communicator MPI_COMM_WORLD, but 10% of them use a user-defined communicator mycomm. If we form a message chart using "Communicator" as the metric and "Fair" as the operator, the chart would report MPI_COMM_WORLD 90% of the time but mycomm 10% of the time.