# Presentation: 260828

## TotalView on the T3Eand IBM SP Systems

- NERSC User Services
- June 12, 2000

## Contents

- Compiling for, and executing TotalView
- Startup windows
- Basic controls and user interface
- Breakpoints
- Setting them
- Running to them
- Viewing processor states and changing processors
- Viewing variable values
- Setting Eval points
- Attaching to running jobs
- On-line help

- June, 2000

## How to Compile & Run

- On the T3E:
**f90 {-G0 or -G1} source.f**
**G0** Will give debugging symbols at all executable statements
**G1** Will keep some of the optimization (faster runs, fewer breakpoint locations)
**totalview -X 3 -grayscale -bg white**
- On the SP:
**mpxlf -g source.f**
**module load totalview**
**totalview poe -a ./a.out -nodes 2 -procs 4 -rmpool 1**

- June, 2000

## T3E: Initial TotalView window

**T3E: Initial TotalView window**

- June, 2000

## T3E: With the left mouse button choose File

**T3E: With the left mouse button choose File**

**With the left mouse button choose Load New Program**

- June, 2000

## T3E: Enter Executable Name (“a.out”), then click Apply

**T3E: Enter Executable Name (“a.out”), then click Apply**

- June, 2000

## T3E: Process_window will appear.

**T3E: Process_window will appear.**

- June, 2000

## SP: Initial TotalView windows

**SP: Initial TotalView windows**

**2 windows will open, one with poe in its title bar, and the other with TotalView and its version number****. **

- June, 2000

## T3E: With the left mouse button choose File in the process window

**T3E: With the left mouse button choose File in the process window**

- June, 2000

## T3E: With the left mouse button choose Control

**T3E: With the left mouse button choose Control**

- June, 2000

## T3E: With the left mouse button choose Events

**T3E: With the left mouse button choose Events**

- June, 2000

## T3E: With the left mouse button choose Source

**T3E: With the left mouse button choose Source**

- June, 2000

## SP: In the poe window, click the middle mouse button.

**SP: In the poe window, click the middle mouse button.**

**A small menu window will appear, which contains many options.**

- June, 2000

## SP: While holding the middle mouse button in the poe window, select:

**SP: While holding the middle mouse button in the poe window, select:**
**Arguments/Create/Signal**

- June, 2000

## SP: While holding the middle mouse button in the poe window, choose:

**SP: While holding the middle mouse button in the poe window, choose:**
**Go/Halt/Step/Next/Hold**

- June, 2000

## SP: While holding the middle mouse button in the poe window, choose:

**SP: While holding the middle mouse button in the poe window, choose:**
**Function/File/Variable**

- June, 2000

## SP: While holding the middle mouse button in the poe window, choose:

**SP: While holding the middle mouse button in the poe window, choose:**
**Current/Update/Relatives**

- June, 2000

## SP: While holding the middle mouse button in the poe window, choose:

**SP: While holding the middle mouse button in the poe window, choose:**
**Display/Directory/Edit**

- June, 2000

## SP: While holding the middle mouse button in the poe window, choose:

**SP: While holding the middle mouse button in the poe window, choose:**
**STOP/BARR/EVAL/ELOG**

- June, 2000

## SP: While holding the middle mouse button in the poe window, choose:

**SP: While holding the middle mouse button in the poe window, choose:**
**Process State Info**

- June, 2000

## SP: While holding the middle mouse button in the poe window, choose:

**SP: While holding the middle mouse button in the poe window, choose:**
**Search for String**

- June, 2000

## SP: While holding the middle mouse button in the poe window, choose:

**SP: While holding the middle mouse button in the poe window, choose:**
**Save Window to File**

- June, 2000

## SP: While holding the middle mouse button in the poe window, choose:

**SP: While holding the middle mouse button in the poe window, choose:**
**Go/Halt/Step/Next/Hold**
**then choose Go Group**

**This starts the code running, and produces the window shown in the next slide**

- June, 2000

## SP: It is good to answer yes, here, so you can add some breakpoints.

**SP: It is good to answer yes, here, so you can add some breakpoints.**

- June, 2000

## SP: In the AIX window you will see the 4 processors are ready.

**The poe window will show the source code**

- June, 2000

## T3E: Setting a breakpoint:

**T3E: Setting a breakpoint:**
**Left-click on the box at line 12**

- June, 2000

## T3E: Left-click on Run

**T3E: Left-click on Run**

- June, 2000

## T3E: The program stopped at line 12

**T3E: The program stopped at line 12**
**Notice we are looking at PE 0**

- June, 2000

## T3E: Click on the PE button.

**T3E: Click on the PE button.**
**Now we are looking at PE 2.**

- June, 2000

## SP: Click the left mouse button on the rectangle at line 9, to set a breakpoint

**SP: Click the left mouse button on the rectangle at line 9, to set a breakpoint**

**In the poe window click on the “P^” button, to see the code at processor 1**

- June, 2000

## SP: Notice the  different color in lower panes, and that I changed the breakpoint from line 9 to line 10.

**SP: Notice the  different color in lower panes, and that I changed the breakpoint from line 9 to line 10.**

- June, 2000

## T3E: Displaying a variable’s value:

**T3E: Displaying a variable’s value:**
**Left-click on the variable, “x5” and a data object window will open.**
**This action is called “diving” on a variable.**

- June, 2000

## T3E: Click the “Continue” button, and notice the value of “X2” changes to “NaN”

**T3E: Click the “Continue” button, and notice the value of “X2” changes to “NaN”**

- June, 2000

## SP: Choose Go/Halt/Step/Next/Hold

**SP: Choose Go/Halt/Step/Next/Hold**
** ****then**
**Go Group**

- June, 2000

## SP: The code ran up to the breakpoint.

**SP: The code ran up to the breakpoint.**

**If we right- click on the box at the left of line 12 , we get an eval window.**

- June, 2000

## T3E: Using EVAL:

**T3E: Using EVAL:**
**Right -click on the box at line 15, to get the breakpoint window shown in the next slide**

- June, 2000

## T3E: In the breakpoint window we can use a C or Fortran expression to control action at a breakpoint

**T3E: In the breakpoint window we can use a C or Fortran expression to control action at a breakpoint**

- June, 2000

## T3E: After clicking on “Cont”, the code will stop at line 15 when the expression becomes true

**T3E: After clicking on “Cont”, the code will stop at line 15 when the expression becomes true**

- June, 2000

## T3E: Verify the EVAL point worked, by left-clicking on I, to check its value

**T3E: Verify the EVAL point worked, by left-clicking on I, to check its value**

- June, 2000

## SP: If we right- click on the box at the left of line 12 , we get an Eval window.

**SP: If we right- click on the box at the left of line 12 , we get an Eval window.**

- June, 2000

## SP: In the eval window we can select a type of “Breakpoint”,  or specify expression evauation, as shown in the next slide

**SP: In the eval window we can select a type of “Breakpoint”,  or specify expression evauation, as shown in the next slide**

- June, 2000

## SP: In the Evaluate Expression box, specify a condition (in Fortran or C  syntax) which will make the code stop; in this case stop when i = 10.

**SP: In the Evaluate Expression box, specify a condition (in Fortran or C  syntax) which will make the code stop; in this case stop when i = 10**.

- June, 2000

## SP: Notice that the box at the left of line 12 says “eval”.

**SP: Notice that the box at the left of line 12 says “eval”.**
**I have also added a breakpoint on line 19.**

- June, 2000

## SP: Here’s what happens when we continue executon - one processor stops at line 12, when the condition becomes true.

**SP: Here’s what happens when we continue executon - one processor stops at line 12, when the condition becomes true.**

- June, 2000

## SP: In the stack trace window we click on “.test” so we can go back to the source code.

**SP: In the stack trace window we click on “.test” so we can go back to the source code.**
**We can see the code is stopped at the “eval” point.**

- June, 2000

## SP: To view the value of variable “I”, right-click on that variable in line 12. 

**SP: To view the value of variable “I”, right-click on that variable in line 12. **
**Another window will show up which shows the values.**

**To view the values of variable “x”, click on it.**

- June, 2000

## SP: Middle-click on the “Static in .test” window, and another window shows up which has many options.

**SP: Middle-click on the “Static in .test” window, and another window shows up which has many options.**

- June, 2000

## SP: By choosing “Visualize” we can get the following graph:

**SP: By choosing “Visualize” we can get the following graph:**
**It shows a plot of the element values of the array “x”.**

- June, 2000

## T3E: How to attach TotalView to a running job:

**Run TotalView, then in the File Menu, choose “Unattached Processes”**

- June, 2000

## T3E: Left-click on the desired process (“a.out”)

**T3E: Left-click on the desired process (“a.out”)**

- June, 2000

## T3E: The program should appear in a process window.

**T3E: The program should appear in a process window.**

- June, 2000

## SP: How to attach TotalView to a running job: 

**SP: How to attach TotalView to a running job: **
**Run TotalView, then click the midle mouse button in the AIX TotalView window.**
**Choose Show All Unattached Processes**

- June, 2000

## SP: A Processes window will show.  Choose the poe job which is running and we are trying to attach using TotalView.

**SP: A Processes window will show.  Choose the poe job which is running and we are trying to attach using TotalView.**

- June, 2000

## SP: A query window will appear; you should say yes.

**SP: A query window will appear; you should say yes.**

- June, 2000

## SP: Now  the program is attached.

**SP: Now  the program is attached.**

- June, 2000

## T3E: Online help can be used using the Help button.

**T3E: Online help can be used using the Help button.**

- June, 2000

## SP: For Help click on the middle button in the AIX TotalView window and choose Help

**SP: For Help click on the middle button in the AIX TotalView window and choose Help**

- June, 2000