HP-MPI User's Guide (11th Edition)
Debugging and troubleshooting
Debugging HP-MPI applications
Chapter 6198
Step 3. Run your application.
When your application enters MPI_Init, HP-MPI starts one debugger
session per process and each debugger session attaches to its process.
Step 4. (Optional) Set a breakpoint anywhere following MPI_Init in each
session.
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
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 on HP-UX systems, 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.