LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: David Cronk (cronk_at_[hidden])
Date: 2004-11-11 23:06:08


Just a thought. When people ask questions like this on the LAM list, is
it possible to give answers that are specific to LAM? I would agree
with giving the clarification that the answer is LAM specific, with
reference to the standard, but some people want to take advantage to
implementation specific features. I beleive in portability as much as
anyone, but some people are looking to take advantage of implementation
specific details. You guys know the details of how LAM does things, as
long as you clarify that a solution is not portable, I don't see the
harm in letting people know how to take advantage of implementation
specific details.

Just a thought.

Dave.

Ralf Wildenhues wrote:

>* atarpley wrote on Tue, Nov 09, 2004 at 11:05:34PM CET:
>
>
>>I think I understand this, I would just like some confirmation. :-)
>>
>>MPI_Send is a blocking, synchronous routine. Meaning it won't return until
>>the send buffer is good to use
>>
>>
>
>This is true.
>
>
>
>> AND the recipient has started to receive the
>>message.
>>
>>
>
>This is not true for MPI_Send (but have a look at MPI_Bsend).
>
>
>
>> Question: Does this mean it wont return until the recipient STARTS
>>to receive or until the recipient FULLY receives the msg?
>>
>>
>
>MPI_Send completion can have local or non-local semantics. So when it
>returns, all you know is you can reuse the buffer, you don't know how
>far the communication has proceeded.
>
>
>
>>MPI_Isend is a non-blocking, asynchronous routine. Meaning it returns
>>immediatly, regardless of the status of the matching receive
>>
>>
>
>This is true.
>
>
>
>> or the buffer.
>>
>>
>
>What do you mean with the buffer? After MPI_Isend, you cannot touch the
>send buffer yet.
>
>
>
>>In order to delete the send buffer okay, MPI_Wait (or MPI_Test) must say that
>>it is okay to do so.
>>
>>
>
>This is true.
>
>
>
>> Question: The requirement that a test or wait routine be
>>used to determine the status of the send buffer effectively turns this into a
>>blocking, asynchronous routine, correct?
>>
>>
>
>Possibly. But MPI_Wait/Test after an Isend only tells you that you can
>reuse (or free) the send buffer now. Similar to MPI_Send, it does not
>guarantee progress of communication.
>
>
>
>> If I want to deallocate the buffer
>>after each send?
>>
>>
>
>Nothing prevents you from doing this (after Wait or successful Test),
>but: Why would you want to do that?
>
>Regards,
>Ralf
>_______________________________________________
>This list is archived at http://www.lam-mpi.org/MailArchives/lam/
>
>