JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Solaris Studio 12.2: Performance Analyzer MPI Tutorial
search filter icon
search icon

Document Information

Preface

1.  Performance Analyzer MPI Tutorial

About MPI and Performance Analyzer

Setting Up for the Tutorial

Collecting Data on the ring_c Example

Opening the Experiment

Navigating the MPI Timeline

Viewing Message Details

Viewing Function Details and Application Source Code

Filtering Data in the MPI Tabs

Using the Filter Stack

Using the MPI Chart Tab

Using the MPI Chart Controls

Make a Chart to Show Where Messages are Being Sent

Make a Chart to Show Which Ranks Waited Longest to Receive a Message

Look for Slow Message Effects on Time Spent in MPI Functions

Conclusion

A.  MPI Chart Control Settings

Viewing Function Details and Application Source Code

  1. Click on one of the MPI_Recv function events in the MPI Timeline tab.

    The function is highlighted in yellow, and details about the function are displayed in the MPI Timeline Controls tab on the right.

    Show Call Stack button
  2. In the MPI Timeline Controls tab, click the button labeled Show Call Stack if available.

    After a few moments, the call stack for the highlighted state should be shown in the MPI Timeline Controls tab:

    MPI Timeline with Call Stack for Selected Event
  3. When the Call Stack for Selected Event is displayed in the MPI Timeline Controls tab, click on main + 0x00000198, line 53 in "ring_c.c.

  4. Click the Source tab in the main Performance Analyzer panel.

    If you get a message such as Object file (unknown) not readable, make sure you selected the stack frame main + 0x00000198, line 53 in "ring_c.c.


    Note - Source is only visible when the source is in the same location it was in when the program was run through the collector, or when it can be found in the $expts path as set in .er.rc or in View > Set Data Presentation > Search Path. Source also needs to be compiled with -g. If the source code is not visible, you may not have started the Analyzer from the directory containing the ring_c binary and source code. If this is the case, quit the Performance Analyzer and restart after you change to the directory containing ring_c.


    When the source is visible, it should show where main() calls the MPI_Recv() function. As shown below, MPI_Recv() is called from line 53 in the source. The metrics with high values are highlighted: 274 receives are associated with line 53, and 274 sends are associated with MPI_Send() on line 60.

    Highlighted source code

    Tip - The screen capture shows a reduced number of metrics. You can select more metrics to display by choosing View > Set Data Presentation > Metrics.


  5. Click the Functions tab in the main Performance Analyzer panel.

    The Functions tab shows the same MPI Send and MPI Receive metrics in columns on the left side of a table. You can sort the table by clicking in the column headers.

    Functions tab with MPI metrics

    Tip - The screen capture shows a reduced number of metrics. You can select more metrics to display by choosing View > Set Data Presentation > Metrics.


  6. Click the MPI Timeline tab to return to the MPI timeline.

    Do not click the regular Timeline tab because it does not apply to MPI programs.