Debugging Portland Group, Inc., HPF Applications
TotalView lets you debug High Performance Fortran (HPF) code compiled with the Portland Group, Inc., HPF (PGI HPF) compiler at the source level.
Note: Debugging PGI HPF programs requires a separate TotalView license.
TotalView supports the following platforms:
- IBM RS/6000 and SP AIX 4.x
- SGI MIPS IRIX 6.x, for programs compiled with -64 only
- Sun Sparc SunOS 5 (Solaris 2.x)
See the TotalView Platforms document for supported PGI HPF runtime configurations.
In addition to normal TotalView features, the TotalView PGI HPF support allows the following:
- Source-level display of HPF code.
- Source-level breakpoints in HPF code.
- You can update replicated scalar variables in all processes by updating the value in any process.
- Display of distributed arrays, with optional display of the owning processor.
- Display of the distribution of distributed arrays, for instance, onto which node a particular element of a distributed array is mapped.
- Visualization of distributed arrays.
- Automatic update of all copies of replicated scalar variables.
- You can export the distribution of an array to the visualizer to display it graphically.
- You see the HPF source and variables.
- You can set breakpoints in the HPF source code.
The following restrictions exist:
In the address display for Variable Windows showing HPF variables, an additional field tells you whether the variable is distributed [Dist] or replicated [Repl]. If you update a replicated variable, it is updated in all processes. A distributed variable is only updated in its home process.
You cannot edit the address of a distributed array. If you edit the address of a replicated scalar, it will be marked as distributed, since it no longer makes sense to update all of the processes, as you do not know what is at that address in the other processes.
When you display an HPF distributed array, TotalView can also display the logical processor on which each element resides. You can change the display of this additional information for a single Variable Window by using the View > Node Display command. You can set the default for the TotalView session by using the -hpf_node or -no_hpf_node command-line options; you could also use the X resource totalview*hpfNode
. No matter which way you set the default, you can always toggle the behavior in each window.
By default, this display is disabled. If it is enabled, TotalView displays a distributed array as is shown in the following figure. Otherwise, the Node column is not displayed and a distributed array display looks the same as that of a normal array.
Block Distributed Array on Three Processes 
|