A delightful bug this, you get a segfault if you code contains a random_number call and is compiled with -fopenmp, EVEN IF YOU CANNOT CALL IT!
program fred use mpi integer :: ierr call mpi_init(ierr) print *,"hello" call mpi_finalize(ierr) contains subroutine sub real :: a(10) call random_number(a) end subroutine sub end program fred The segfault is nothing to do with OpenMPI, but there remains a mystery as to why I only get the segfault error messages on lower node counts. mpif90 -O0 -fopenmp ./fred.f90 mpiexec -n 6 ./a.out -------------------------------------------------------------------------- mpiexec noticed that process rank 4 with PID 28402 on node mic2 exited on signal 11 (Segmentation fault). -------------------------------------------------------------------------- jbray@mic2:intel-15_openmpi-1.8.3% mpiexec -n 12 ./a.out <nothing> It was the silence that made me raise the issue here. I am running on a 12 physical core hyperthreaded Xeon Phi. Is there something in OpenMPI that is suppressing the messages, as I am getting 4/5 core files each time. John On 18 November 2014 04:24, Ralph Castain <r...@open-mpi.org> wrote: > Just checked the head of the 1.8 branch (soon to be released as 1.8.4), > and confirmed the same results. I know the thread-multiple option is still > broken there, but will test that once we get the final fix committed. > > > On Mon, Nov 17, 2014 at 7:29 PM, Ralph Castain <r...@open-mpi.org> wrote: > >> FWIW: I don't have access to a Linux box right now, but I built the OMPI >> devel master on my Mac using Intel 2015 compilers and was able to build/run >> all of the Fortran examples in our "examples" directory. >> >> I suspect the problem here is your use of the >> --enable-mpi-thread-multiple option. The 1.8 series had an issue with >> that option - we are in the process of fixing it (I'm waiting for an >> updated patch), and you might be hitting it. >> >> If you remove that configure option, do things then work? >> Ralph >> >> >> On Mon, Nov 17, 2014 at 5:56 PM, Gilles Gouaillardet < >> gilles.gouaillar...@iferc.org> wrote: >> >>> Hi John, >>> >>> do you MPI_Init() or do you MPI_Init_thread(MPI_THREAD_MULTIPLE) ? >>> >>> does your program calls MPI anywhere from an OpenMP region ? >>> does your program calls MPI only within an !$OMP MASTER section ? >>> does your program does not invoke MPI at all from any OpenMP region ? >>> >>> can you reproduce this issue with a simple fortran program ? or can you >>> publish all your files ? >>> >>> Cheers, >>> >>> Gilles >>> >>> >>> On 2014/11/18 1:41, John Bray wrote: >>> >>> I have succesfully been using OpenMPI 1.8.3 compiled with Intel-14, using >>> >>> ./configure --prefix=/usr/local/mpi/$(basename $PWD) --with-threads=posix >>> --enable-mpi-thread-multiple --disable-vt --with-scif=no >>> >>> I have now switched to Intel 15.0.1, and configuring with the same options, >>> I get minor changes in config.log about warning spotting, but it makes all >>> the binaries, and I can compile my own fortran code with mpif90/mpicc >>> >>> but a command 'mpiexec --verbose -n 12 ./fortran_binary' does nothing >>> >>> I checked the FAQ and started using >>> >>> ./configure --prefix=/usr/local/mpi/$(basename $PWD) --with-threads=posix >>> --enable-mpi-thread-multiple --disable-vt --with-scif=no CC=icc CXX=icpc >>> F77=ifort FC=ifort >>> >>> but that makes no difference. >>> >>> Only with -d do I get any more information >>> >>> mpirun -d --verbose -n 12 >>> /home/jbray/5.0/mic2/one/intel-15_openmpi-1.8.3/one_f_debug.exe >>> [mic2:21851] procdir: /tmp/openmpi-sessions-jbray@mic2_0/27642/0/0 >>> [mic2:21851] jobdir: /tmp/openmpi-sessions-jbray@mic2_0/27642/0 >>> [mic2:21851] top: openmpi-sessions-jbray@mic2_0 >>> [mic2:21851] tmp: /tmp >>> [mic2:21851] sess_dir_cleanup: job session dir does not exist >>> [mic2:21851] procdir: /tmp/openmpi-sessions-jbray@mic2_0/27642/0/0 >>> [mic2:21851] jobdir: /tmp/openmpi-sessions-jbray@mic2_0/27642/0 >>> [mic2:21851] top: openmpi-sessions-jbray@mic2_0 >>> [mic2:21851] tmp: /tmp >>> [mic2:21851] sess_dir_finalize: proc session dir does not exist >>> <12 times> >>> >>> >>> [mic2:21851] sess_dir_cleanup: job session dir does not exist >>> exiting with status 139 >>> >>> My C codes do not have this problem >>> >>> Compiler options are >>> >>> mpicxx -g -O0 -fno-inline-functions -openmp -o one_c_debug.exe async.c >>> collective.c compute.c memory.c one.c openmp.c p2p.c variables.c >>> auditmpi.c control.c inout.c perfio.c ring.c wave.c io.c leak.c mpiio.c >>> pthreads.c -openmp -lpthread >>> >>> mpif90 -g -O0 -fno-inline-functions -openmp -o one_f_debug.exe control.o >>> io.f90 leak.f90 memory.f90 one.f90 ring.f90 slow.f90 swapbounds.f90 >>> variables.f90 wave.f90 *.F90 -openmp >>> >>> Any suggestions as to what is upsetting Fortran with Intel-15 >>> >>> John >>> >>> >>> >>> >>> _______________________________________________ >>> users mailing listus...@open-mpi.org >>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users >>> Link to this post: >>> http://www.open-mpi.org/community/lists/users/2014/11/25823.php >>> >>> >>> >>> _______________________________________________ >>> users mailing list >>> us...@open-mpi.org >>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users >>> Link to this post: >>> http://www.open-mpi.org/community/lists/users/2014/11/25829.php >>> >> >> > > _______________________________________________ > users mailing list > us...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > Link to this post: > http://www.open-mpi.org/community/lists/users/2014/11/25833.php >