LAM/MPI logo

LAM/MPI General User's Mailing List Archives

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

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2004-11-13 15:33:01


Sure, this is possible, but I'd prefer not to unless people
specifically ask for it.

Here's why: while I'd be quite happy if LAM/MPI is the first and last
MPI that you ever use ;-), the idea behind MPI is that you can write
portable parallel applications. As such, it is always safest to write
according to the MPI standard, not according to the specifics of a
single implementation. You never know where you may need to run your
app -- it may be on a platform where LAM is not appropriate. For
example, Open MPI will be replacing LAM over the course of the next
year, and some of the internal semantics may be a bit different than
LAM's.

That being said, we're happy to discuss any of the internals of LAM --
so if you have any specific questions, feel free to ask.

On Nov 11, 2004, at 11:06 PM, David Cronk wrote:

>
> 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/
>
>
> _______________________________________________
> This list is archived at http://www.lam-mpi.org/MailArchives/lam/

-- 
{+} Jeff Squyres
{+} jsquyres_at_[hidden]
{+} http://www.lam-mpi.org/