Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
27534 Discussions

mpigdb switching processor, when the current process is waiting


I am new to the oneAPI interface. I want to use the parallel debugging capability of mpigdb, if I can, because manually running a parallel session using multiple gdb on the go is a pain. Ideally would like mpigdb to keep track of all the running gdb executions, and to do the book keeping and crucially, let me switch between processes, and apply gdb commands accordingly.

The problem is, when one process that I am currently switched to is waiting on another, I cannot switch to that other processor to actually advance the program. So for example, see where I am using mpigdb to debug the pi_withWrites.exe program, below. To show an example, I deliberately have switched to processor 1 and typed run. But this process cannot proceed until process 0 has requested the number of intervals. I cannot type

z 0 

because the process 1 is in waiting and wont let me. So my question is, how do I next to switch to processor 0, such that I might proceed?

mpirun -gdb -n 4 -f hostfile ./pi_withWrites.exe
mpigdb: attaching to 19708 ./pi_withWrites.exe n1
mpigdb: attaching to 19709 ./pi_withWrites.exe n1
mpigdb: attaching to 19710 ./pi_withWrites.exe n1
mpigdb: attaching to 19711 ./pi_withWrites.exe n1
[0-3] (mpigdb) z 1
mpigdb: set active processes to 1
[1] (mpigdb) run
[1] Continuing.

0 Kudos
0 Replies