These functions are tested nightly and there has been no indication any of these
functions fail with MPI_IN_PLACE. Can you provide a reproducer?

-Nathan
HPC-3, LANL

On Tue, Oct 08, 2013 at 07:40:50PM +0000, Gerlach, Charles A. wrote:
>    I have an MPI code that was developed using MPICH1 and OpenMPI before the
>    MPI2 standards became commonplace (before MPI_IN_PLACE was an option).
> 
>     
> 
>    So, my code has many examples of GATHERV, AGATHERV and SCATTERV, where I
>    pass the same array in as the SEND_BUF and the RECV_BUF, and this has
>    worked fine for many years.
> 
>     
> 
>    Intel MPI and MPICH2 explicitly disallow this behavior according to the
>    MPI2 standard. So, I have gone through and used MPI_IN_PLACE for all the
>    GATHERV/SCATTERVs that used to pass the same array twice. This code now
>    works with MPICH2 and Intel_MPI, but fails with OpenMPI-1.6.5 on multiple
>    platforms and compilers.
> 
>     
> 
>    PLATFORM                  COMPILER            SUCCESS? (For at least one
>    simple example)
> 
>    ------------------------------------------------------------
> 
>    SLED 12.3 (x86-64) - Portland group  - fails
> 
>    SLED 12.3 (x86-64) - g95                         - fails
> 
>    SLED 12.3 (x86-64) - gfortran               - works
> 
>     
> 
>    OS X 10.8                 -- intel                        -fails
> 
>     
> 
>     
> 
>    In every case where OpenMPI fails with the MPI_IN_PLACE code, I can go
>    back to the original code that passes the same array twice instead of
>    using MPI_IN_PLACE, and it is fine.
> 
>     
> 
>    I have made a test case doing an individual GATHERV with MPI_IN_PLACE, and
>    it works with OpenMPI.  So it looks like there is some interaction with my
>    code that is causing the problem. I have no idea how to go about trying to
>    debug it.
> 
>     
> 
>     
> 
>    In summary:
> 
>     
> 
>    OpenMPI-1.6.5 crashes my code when I use GATHERV, AGATHERV, and SCATTERV
>    with MPI_IN_PLACE.
> 
>    Intel MPI and MPICH2 work with my code when I use GATHERV, AGATHERV, and
>    SCATTERV with MPI_IN_PLACE.
> 
>     
> 
>    OpenMPI-1.6.5 works with my code when I pass the same array to SEND_BUF
>    and RECV_BUF instead of using MPI_IN_PLACE for those same GATHERV,
>    AGATHERV, and SCATTERVs.  
> 
>     
> 
>     
> 
>    -Charles

> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users

Reply via email to