Parallel Programming Guide for HP-UX Systems

MPI
Debugging
Chapter 2 55
Step 5. Set the global variable MPI_DEBUG_CONT to 1 using each session’s command line
interface or graphical user interface. The syntax for setting the global variable
depends upon which debugger you use:
(adb) mpi_debug_cont/w 1
(dde) set mpi_debug_cont = 1
(xdb) print *MPI_DEBUG_CONT = 1
(wdb) set MPI_DEBUG_CONT = 1
(gdb) set MPI_DEBUG_CONT = 1
(ladebug) set MPI_DEBUG_CONT = 1
NOTE For the ladebug debugger, /usr/bin/X11 may need to be added to the
command search path.
Step 6. Issue the appropriate debugger command in each session to continue program
execution.
Each process runs and stops at the breakpoint you set after MPI_Init.
Step 7. Continue to debug each process using the appropriate commands for your debugger.
CAUTION To improve performance, HP MPI supports a process-to-process, one-copy
messaging approach. This means that one process can directly copy a message
into the address space of another process. Because of this process-to-process
bcopy (p2p_bcopy) implementation, a kernel thread is created for each process
that has p2p_bcopy enabled. This thread deals with page and protection faults
associated with the one-copy operation.
This extra kernel thread can cause anomalous behavior when you use DDE on
HP-UX 11i and higher. If you experience such difficulty, you can disable
p2p_bcopy by setting the MPI_2BCOPY environment variable to 1.
Using a multi-process debugger
hp MPI supports the TotalView debugger on HP-UX version 11i and higher. The preferred
method when you run TotalView with HP MPI applications is to use the mpirun runtime
utility command.