Jumpshot-3 is the display program for trace data in scalable log format, which is designed to store a large number of drawable objects generated from the backend of a parallel program, like MPICH's MPE profiling library. Basically, Jumpshot-3 is a tool to display rectangles which represent the various MPI and user defined states and arrows which represent messages exchanged between those states.
How generating slog file:
To be able
to generate slog file, you have to compile your program with the mpilog
In our example the line in the makefile is : mpif77 wave.f -mpilog -o ex_wave
By default this option will generate during the run a file named ex_wave.clog.
Be carefull jumpshot-3 can only read slog file; so before compile you have to change the environment variable MPI_LOG_FORMAT to SLOG
To be sure put the following line in your .cshrc: setenv MPI_LOG_FORMAT SLOG
Then make source .cshrc
FIG.1 The Main Control Window of Jumpshot-3
The first window Jumpshot-3 pops up is the Main Control window which is shown in the Fig.1. The File menu tab brings up the file selection menu.Here, doubly click to the right directory where your slog file is located and highlight it as the logfile to be processed, then the path of the logfile relative to the current working directory will be printed in the logfile box, in the middle of the main control window
As soon as the pathname of the logfile appears, the Read button will be enabled. Click on the Read button will display the ``Preview'' of the logfile. (see FIG.3 )
The System menu tab allows a user to choose the specific
``Look & Feel'' for the whole GUI system of jumpshot-3. The Help menu
tab provides electronic documentations to jumpshot-3. This includes sub-menu
Manual, Tour and About. Manual provides a very brief explanation of all
the buttons in jumpshot-3. Tour is the HTML version of this document.About
provides the version and contact information for the copy of jumpshot-3
The goal of the Statistical Preview is to help a user select a frame for viewing purpose. The window is titled ``View & Frame Selector'' window, which is usually called ``Preview'' contains a graphical representation of all the activities going on during the run of your program . It is shown in Fig.3.
FIG.3 The Preview : View & Frame Selector Window.
Assume Connected States in Thread view in ``Preview''
is selected, as soon as user clicks on the Display buttons in the ``View
& Frame Selector'' window. A Time Lines window as shown in Fig.4 will
pop up. Time Lines window provides a detailed display of the program trace
data as a GANTT chart with x-axis as time and y-axis as thread ID. The
control buttons in the top panel provide zoom IN and OUT operations around
the zoom focus which could be set by putting the cursor at the point of
interest on the GANNT chart and press the key ``z''.
FIG.4 Time Line window in Thread view
After being zoomed in several times, the Time Line window
looks like Figure 5. At this resolution, a lot more details are exposed.
For instance, the MPI_send states which are in navy blue in the figure
become noticeable. Clicking on any rectangle in the time line canvas will
pop up a ``Rectangle Info'' box which contains various information regarding
to the subroutine call, like start and end time of the call, various call
arguments and instruction address(es) if there are any. Clicking on the
``Rectangle Info'' box again will remove the box from the screen. Also,
clicking on the red circle at the end of the arrow will pop up a ``Arrow
Info'' box which provides similar function as ``Rectangle Info''.
FIG.5 A zoomed in view of the Time LIne window.
Finally, we can compare the two implementations by speed-up. The curves
seem to be equivalent.