Debugging with Upshot

From BCCD 3.0

Jump to: navigation, search

Upshot is a visual X-based tool for debugging using .alog type logs and is a good way to visualize mpich parallel program behavior. Below is a simple walkthrough using upshot to analyze a sample mpich program. If you are not sure how to create an .alog logfile, creating an alog File will show you how.

Starting Upshot

In the walkthrough below I'll use the mpich program cpi, which calculates the number pi. After creating your .alog file (I called mine cpi.alog), either right-click on the desktop, select the Debuggers menu, and then select upshot; or issue the following command to start upshot:

upshot cpi.alog

The start-up screen is shown below:

Upshot startup screen

Using Upshot

After clicking the Setup button on the previous screen, a new screen offering a visual glance into the workings of your program should be displayed, similar to the one below:

Upshot setup

Each vertical line represents events logged by and states of the process whose identifier appears along the left edge. Time elapsed is given in microseconds and is shown along the bottom.

Horizontal and Vertical Zoom: These buttons zoom in or out either horizontally or vertically. You may then adjust your view by using the scrollbars on the right and bottom sides of the graph.

Selecting a specific event (such as BCAST or REDUCE in this case) with the left mouse button brings up more specific information about the event from the logfile. Examples of these windows are shown below.

Screenshot when left-clicking on BCAST
BCAST-specific window
Screenshot when left-clicking on REDUCE
REDUCE-specific window

Detailed Zoom: This button opens up an additional window giving you more options and control on zooming in on certain processes during certain times. An example window is given below.

Detailed zoom

Print: This button allows you to print results to a standard printer.
Reset: This button resets the view to the original view.
Close: This button will close the current window.

Now play around and have some fun!

A Larger Example

Just to give you an idea of what a larger program looks like in upshot, take a look at the screenshot below generated by the program GalaxSee with two processes.

GalaxSee results in upshot

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox