Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

MPI error

Echevarria__Emilio
171 Views

Hi, I am trying to run a test case of the Wavewatch III model. I compiled the routines with ifort and all of the programs run as they should, except for the last one (ww3_multi) that gives me this error:

MPI: Global rank 1 is aborting with error code 51.
     Process ID: 21874, Host: r1i1n0, Program: /u/emilioe/WW3/exe/ww3_multi

MPI: --------stack traceback-------
MPI: Using host libthread_db library "/lib64/libthread_db.so.1".
MPI: Attaching to program: /proc/21874/exe, process 21874
MPI: [Thread debugging using libthread_db enabled]
MPI: [New Thread 47480284834560 (LWP 21874)]
MPI: 0x00002b2edcfb76f5 in waitpid () from /lib64/libpthread.so.0
MPI: (gdb) #0  0x00002b2edcfb76f5 in waitpid () from /lib64/libpthread.so.0
MPI: #1  0x00002b2edcb972dc in MPI_SGI_stacktraceback (
MPI:     header=<value optimized out>) at sig.c:98
MPI: #2  0x00002b2edcb22872 in print_traceback (ecode=51) at abort.c:168
MPI: #3  0x00002b2edcb229e4 in PMPI_Abort (comm=<value optimized out>,
MPI:     errorcode=51) at abort.c:59
MPI: #4  0x00002b2edcb22a29 in pmpi_abort__ () from /usr/lib64/libmpi.so
MPI: #5  0x00000000006b5573 in w3servmd_mp_extcde_ ()
MPI: #6  0x0000000000649cc3 in w3iogrmd_mp_w3iogr_ ()
MPI: #7  0x00000000005ac98d in w3initmd_mp_w3init_ ()
MPI: #8  0x00000000004c8fc5 in wminitmd_mp_wminit_ ()
MPI: #9  0x0000000000404750 in w3mlti () at ww3_multi.F90:134
MPI: #10 0x000000000040450c in main ()
MPI: (gdb) The program is running.  Quit anyway (and detach it)? (y or n) [answered Y; input not from terminal]
MPI: Detaching from program: /proc/21874/exe, process 21874

MPI: -----stack traceback ends-----
MPI: MPI_COMM_WORLD rank 1 has terminated without calling MPI_Finalize()
MPI: aborting job

 

Does anyone have an idea of what is going on here? Any help/suggestion will be truly appreciated!

Emilio

0 Kudos
1 Reply
jimdempseyatthecove
Black Belt
171 Views

This is a guess....

Your program has (appears to have) a C main as opposed to Fortran PROGRAM entry.
ww3_multi.F90 is being called from the C main, which in turn appears to be initializing MPI

There is nothing inherently wrong with this design...
... provided that the Fortran runtime system is properly initialized.

See the IVF documentation:

for_rtl_init
for_rtl_finish

Jim Dempsey

Reply