Intel® MPI Library
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.
2154 Discussions

mpiexec -idb fails to start debugger

burnesrr
Beginner
433 Views
I am having trouble running Intel's debugger idb on a Fortran program I have written that utilizes the Intel MPI libraries. The debugger works fine on the same executable when run as a serial application, but when I try to execute the following:

mpiexec -idb -np 2 ns3D

I see an attempt to create an idb window and then it disappears and the mpiexec command issued exits without any messages to indicate what happened.

Here are the settings in /etc/bashrc:

export MPIEXEC_DEBUG=1
export INTEL_LICENSE_FILE=/opt/intel/licenses
export IDB_HOME=/opt/intel/composerxe-2011.2.137/bin/ia32/idb
source /opt/intel/bin/compilervars.sh ia32
source /opt/intel/itac/8.0.1.009/bin/itacvars.sh
source /opt/intel/impi/4.0.1/bin/mpivars.sh

Here are the versions I have installed:

[burnesrr@rainier ~]$ which mpiifort
/opt/intel/impi/4.0.1.007/ia32/bin/mpiifort

[burnesrr@rainier ~]$ which idb
/opt/intel/composerxe-2011.2.137/bin/ia32/idb

Any help in solving this problem would be greatly appreciated.

Sincerely,
Rick
0 Kudos
4 Replies
Dmitry_K_Intel2
Employee
433 Views
Hi Rick,

IDB has got a GUI interface, but IDB doesn't support MPI in graphical mode. You probably need to make some changes according to this article.
Also I hope that this article may help.

Strictly speaking, questions related to IDB should be asked in Compiler forum: http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/

Regards!
Dmitry
0 Kudos
burnesrr
Beginner
433 Views
Hi Dmitry,

I had seen the article you referenced, but since that was from 2009 I had assumed the technical issues preventing idb from running in graphical mode on an MPI program had been resolved. Are there plans to resolve this bug in the near future?

Sincerely,
Rick
0 Kudos
burnesrr
Beginner
433 Views
Hi Dmitry,

One more question:
Would the following method work to make use of the gui version of idb on an MPI program:

(1) Add a line to the beginning of my Fortran source that pauses the execution based on a logical flag that has been set to .TRUE.
(2) Attach gui idb to each of the processes.
(3) change the value of the logical flag to .FALSE. to let execution continue.

I have not tried this - is it possible to run more than one instance of the gui version of idb?

Sincerely,
Rick

0 Kudos
Dmitry_K_Intel2
Employee
433 Views
Hi Rick,

I'll try to explain you how IDB works.
For MPI applications main IDB starts so called "leaf" debuggers (using option -parallel) and each "leaf debugger" attaches to one MPI process. "leaf debuggers" communicate with main IDB providing output from MPI processes and getting debugger commands. Of cause "leaf" debuggers work with command line interface.
At the beginning IDB sets breakpoint at function MPIR_Breakpoint() and after that continue execution until exit from MPI_Init() function.
Of cause you can attach GUI IDB to any process you want, but I don't know how you'll synchronize commands for all processes. From my point of view it will be very inconvenient.

About future MPI support...
Looking at the Release Notes for the latest Intel compiler (composer) there is no doubts about that support - there will be NO MPI support in GUI IDB :-(
Please read 4.5.2 and 4.5.3

But I hope that you'll be able to use command line version:
4.5.10 idb GUI cannot be used to debug MPI processes
The idb GUI cannot be used to debug MPI processes. The command line interface (idbc) can be used for this purpose.

But, again, questions related to IDB much better to ask in Forum dedicted to Intel Compiler (Composer).

Regards!
Dmitry

0 Kudos
Reply