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
>

Reply via email to