Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: Re: [OMPI users] Newbie: API usage
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2008-08-16 07:37:09

This is allowable by the MPI API. You're specifically telling MPI "I
don't care to know when that send has completed." See the section for

It's debatable whether that's good programming practice or not (IMHO),
but it is allowable. :-)

Note that there is a clarification going on in the MPI-2.2
standardization process such that it may well be impossible to know
when a request has completed if you use this pattern (freeing the
request before testing for completion). The current MPI-2.0 (and soon-
to-be-published 2.1) spec says that you can know when it has completed
by the presence of another event, such as receiving a message from a
peer that implies that they must have received the send that you
sent. But this may not always be true -- successful completion of a
receive, even from a peer process that must have received your send,
does *not* imply successful completion of your send request. The
local side may still be doing some internal processing such that your
send request has not completed yet. For example, if the local side is
still freeing registered memory, it would be disastrous for the user
to free() the memory.

On Aug 15, 2008, at 6:17 PM, Hartzman, Les (MS) wrote:

> Hello,
> I’m looking over some MPI code and saw something that concerned me.
> Being a bit new to MPI I don’t know if this is a bug or “normal’.
> A call to MPI_Isend was made and followed by an MPI_Reqest_free on
> the exact same request handle used in the Isend call. I saw the same
> thing for ISsend.
> Is this normal or is the person/persons doing this taking changes
> that all will work without ever checking for the completion of the
> issued Sends?
> Thanks in advance.
> Les
> _______________________________________________
> users mailing list
> users_at_[hidden]

Jeff Squyres
Cisco Systems