I would like to launch Intel debugger idb
in parallel mode with MPICH mpiexec
and an input parameters textfile required by the program executable.
Launching program in normal production mode:
mpiexec -np 4 prog -f params.in
where prog
is the name of the executable -f
is a switch understood by the program and params.in
is the name of the input parameters file.
My best take so far is:
mpiexec -np 4 xterm -e idb prog
This works without the input parameters file, but as soon as I supply the parameters as:
mpiexec -np 4 xterm -e idb prog -f params.in
Intel debugger breaks with the following fatal error
Error: ambiguous option: 'f', variants are: freshlyExceded fullname
Running in the standard way previously supported by mpirun
of MPICH is not working either:
mpirun -dbg=idb -np N [other mpich options] \
application [application arguments] [-idb idb options]
Neither mpirun
nor mpiexec
do not accept the -gdb
switch.
Intel debugger version 13.0, Build [80.483.23]
MPICH version 3.2b3
Source code is written in Fortran 90
You've got the crux of the issue: how do you tell a debugger that the command line arguments are for the program, not for the debugger.
For gcc, the
--args
argument is how you do this:For icc, it does not look like there is an exact equivalent. In that case (and this works for gdb, too), command line arguments can be given as part of the 'run' command:
this is documented in the "Intel(R) Debugger (IDB) Manual" (https://software.intel.com/sites/default/files/m/8/4/c/5/7/6364-idb_manual.pdf)