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

MPI_COMM_SPAWN crashing

okkebas
Beginner
632 Views

I have two fortran mpi programs (driver.f90 and hello.f90, both attached here) 

driver.f90 contains a call to MPI_COMM_SPAWN which calls hello.x

When I run it using  the command "mpirun -np 2 ./driver.x" It crashes (output below this message). I noticed that spawned task 0 has a different parent communicator than the other tasks. I imagine that is the cause of the segmentation fault. It seems a very simple mpi program, both OpenMPI and MPICH work fine. Does anybody know what the problem might be

I'm using impi/5.0.3.048 and ifort 15.0.3.

 

Thanks,

 

 

mpirun -np 2 ./driver.x 
 PID:           1 INTERCOMM: -2080374784
 PID:           0 INTERCOMM: -2080374784
 
 hello: task=  1 parent comm= -2080374784 on host=login4                                                                                                                         
 hello: task=  2 parent comm= -2080374784 on host=login4                                                                                                                         
 hello: task=  0 parent comm= -2080374783 on host=login4                                                                                                                         
 hello: task=  3 parent comm= -2080374784 on host=login4                                                                                                                         
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC                Routine            Line        Source             
driver.x           0000000000474301  Unknown               Unknown  Unknown
driver.x           0000000000472A57  Unknown               Unknown  Unknown
driver.x           0000000000442F24  Unknown               Unknown  Unknown
driver.x           0000000000442D36  Unknown               Unknown  Unknown
driver.x           00000000004277DF  Unknown               Unknown  Unknown
driver.x           00000000004039AD  Unknown               Unknown  Unknown
libpthread.so.0    000000333580F710  Unknown               Unknown  Unknown
libmpifort.so.12   00007F8A0B12AA1C  Unknown               Unknown  Unknown
driver.x           00000000004037BB  Unknown               Unknown  Unknown
driver.x           000000000040354E  Unknown               Unknown  Unknown
libc.so.6          000000333501ED5D  Unknown               Unknown  Unknown
driver.x           00000000004033E9  Unknown               Unknown  Unknown
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC                Routine            Line        Source             
driver.x           0000000000474301  Unknown               Unknown  Unknown
driver.x           0000000000472A57  Unknown               Unknown  Unknown
driver.x           0000000000442F24  Unknown               Unknown  Unknown
driver.x           0000000000442D36  Unknown               Unknown  Unknown
driver.x           00000000004277DF  Unknown               Unknown  Unknown
driver.x           00000000004039AD  Unknown               Unknown  Unknown
libpthread.so.0    000000333580F710  Unknown               Unknown  Unknown
libmpifort.so.12   00007F5471F5FA1C  Unknown               Unknown  Unknown
driver.x           00000000004037BB  Unknown               Unknown  Unknown
driver.x           000000000040354E  Unknown               Unknown  Unknown
libc.so.6          000000333501ED5D  Unknown               Unknown  Unknown
driver.x           00000000004033E9  Unknown               Unknown  Unknown

 

 

 

 

0 Kudos
1 Reply
John_D_6
New Contributor I
632 Views

Hi,

I see that you find the MPI_COMM_SPAWN routine. You're missing the IERROR argument for the MPI_BARRIER call. It works fine with that change.

0 Kudos
Reply