Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] Using MPI_Put/Get correctly?
From: Grismer, Matthew J Civ USAF AFMC AFRL/RBAT (Matthew.Grismer_at_[hidden])
Date: 2010-12-29 13:41:45

Someone correctly pointed out the bug in my examples. In the MPI_Put I
pass a 0 as the displacement, however, the argument must be of type
integer (kind=MPI_ADDRESS_KIND), which is NOT the default integer type.
Replacing the 0 with the correct integer type fixes both examples. Now
to see if it fixes the actual code I am having difficulty with...

-----Original Message-----
From: users-bounces_at_[hidden] [mailto:users-bounces_at_[hidden]] On
Behalf Of Grismer,Matthew J Civ USAF AFMC AFRL/RBAT
Sent: Monday, December 27, 2010 5:33 PM
To: Open MPI Users
Subject: Re: [OMPI users] Using MPI_Put/Get correctly?

I decided to try and isolate the issue, and created two example test
that appear to highlight an issue
with Open MPI; both die when I run them on 2 processors. I am pretty
the first (putoneway.f90) should work, as I am only doing a single put
one processor to a second processor; the target processor is doing
with the window'ed array that is receiving the data. My guess is the
lies in the indexed datatypes that I am using for both the origin and

The second case (putbothways.f90) closely mirrors what I am actually
to do in my code, that is have each processor put into the other
window'ed array at the same time. So, each process is sending from and
receiving into the same array at the same time, with no overlap in the
and received data. Once again I'm using indexed data types for both the
origin and target.

To build: mpif90 putoneway.f90
To run: mpiexec -np 2 a.out


-----Original Message-----
From: users-bounces_at_[hidden] [mailto:users-bounces_at_[hidden]] On
Behalf Of James Dinan
Sent: Thursday, December 16, 2010 10:09 AM
To: Open MPI Users
Subject: Re: [OMPI users] Using MPI_Put/Get correctly?

On 12/16/2010 08:34 AM, Jeff Squyres wrote:
> Additionally, since MPI-3 is updating the semantics of the one-sided
> stuff, it might be worth waiting for all those clarifications before
> venturing into the MPI one-sided realm. One-sided semantics are much
> more subtle and complex than two-sided semantics.

Hi Jeff,

I don't think we should give users the hope that MPI-3 RMA will be out
tomorrow. The RMA revisions are still in proposal form and need work.
Realistically speaking, we might be able to get this accepted into the
standard within a year and it will be another year before
implementations catch up. If users need one-sided now, they should use
the MPI-2 one-sided API.

MPI-3 RMA extends MPI-2 RMA and will be backward compatible, so anything
you write now will still work. It's still unclear to me whether MPI-3's
RMA semantics will be the leap forward in usability we have hoped for.
We are trying to make it more flexible, but there will likely still be
tricky parts due to portability and performance concerns.

So, my advice: don't be scared of MPI-2. I agree, it's complicated, but
once you get acclimated it's not that bad. Really. :)

users mailing list