[mpich-discuss] Can I choose between MPI_WIN_UNIFIED and MPI_WIN_SEPARATE ?

Jeff Hammond jeff.science at gmail.com
Sat Jul 13 11:05:40 CDT 2013

UNIFIED means that the public and private window are the same.
SEPARATE, which is equivalent to MPI-2 RMA behavior, requires explicit
synchronization of the public and private windows, e.g. with
MPI_WIN_SYNC.  If you are in the unified model, SYNC is a no-op.

You cannot choose this because UNIFIED requires the hardware to
provide something that is not always present.  There is little to no
value in asking for SEPARATE if UNIFIED is available.  I can imagine
scenarios where it might be useful but they are mostly contrived.

MPICH's ch3 device is going to provide UNIFIED, btw, at least in the
trunk.  Pavan committed that fix a few days ago.


On Sat, Jul 13, 2013 at 10:57 AM, Ronny Brendel <ronnybrendel at gmail.com> wrote:
> Hey,
> Can I choose between the two memory models, or is this provided by the
> mpi implementation or underlying hardware?
> If I can choose: How can I?
> If I cannot choose: Why is that?
> I tried using MPI_Win_set_attr to set it, but Mpich throws an error
> that the key is invalid.
> (I am using mpich 3.0.4)
> Reading the standard I couldn't find out wether this is supposed to be
> choosable by the user. I just assumed it is. Because, if I don't query
> MPI_WIN_MODEL, there is a chance my program works on one but not on
> the other.
> So I have a correct program depending on which model there is and the
> code looks exactly the same. Which is behavior I would not expect.
> I hope you can help,
> cheers,
> Ronny
> _______________________________________________
> discuss mailing list     discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss

Jeff Hammond
jeff.science at gmail.com

More information about the discuss mailing list