Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] MPI_IN_PLACE with GATHERV, AGATHERV, and SCATERV
From: Nathan Hjelm (hjelmn_at_[hidden])
Date: 2013-10-09 13:37:10


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
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users