MpiPView is a viewer for the MpiP tool that uses the Tool Gear viewer. MpiP is a library that links to an MPI program and records statistics on each location in the program where MPI is called. This information can help developers identify the most costly MPI calls or areas where programs are poorly load-balanced. See the MpiP Web site for more information.
After you run a program that has been instrumented with MpiP, you can use MpiPView to navigate the results. The wide drop-down menu (also called a combo box) shows the categories of information available.
In the screen shot below, the timing data listing is selected. Each header line lists data for one call site, and the sites are listed in decreasing order of the percentage of message passing time they consumed. One of the MPI_Reduce call sites has been selected and its details displayed. These details show the statistics broken out by the individual MPI tasks. All data is aggregated over the total number of times a call site was reached. MpiP does not store data for individual invocations of MPI calls.
In the lower pane, the actual MPI call is highlighted in the source code. MpiP stores the call sequence for each call site (with the number of levels controlled by an environment variable that mpiP reads). The user can navigate up the call chain as far as MpiP has recorded to see the sequence of calling functions. MpiP considers different calling sequences that invoke the same MPI function at a given line of source code to be separate call sites. This distinction is useful when applications wrap MPI calls in higher-level communication libraries because it attributes the cost of the MPI call to the different parts of the application that may have called it.
The MpiPView distribution is available on the Download Tool Gear Software page.
Last modified December 6, 2012