Newsgroups: comp.parallel.mpi
From: James Cownie <jcownie@dolphinics.com>
Subject: Re: Non-blocking sends
Organization: Dolphin Toolworks
Date: Fri, 18 Jul 1997 09:33:22 +0100
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <33CF2A52.12AA@dolphinics.com>

phmsl@zeus.bris.ac.uk wrote:
> 
> I am currently trying to port some fortran 90 code onto a Cray T3D using MPI
> for my message passing.  My question is about MPI itself, as I find the
> standard to be vague.

If you look at page 52 of "MPI The Complete Reference" (which is
basically the 
standard re-typeset), you find 

"A nonblocking post-send call indicates that the system may start
copying
data out of the send buffer. The sender must not access any part of the
send
buffer (neither for loads nor stores) after a nonblocking send operation
is posted
until the complete-send returns."

> When is it safe to alter a variable that has been sent using either a
> non-blocking synchronous send, or a non-blocking buffered send?  For the
> buffered send, can the variable be modified right away, and then sent again
> (as a second and slightly different message)?

Following the above the answer is clear. You can only modify the send
buffer
once you have waiteded or tested for completion of a previous send.
(Whether the 
send is synchronous, buffered, or standard mode does not affect this
statement,
though it will affect when the wait or test sees the send as complete).

-- Jim 

James Cownie 
Dolphin Interconnect Solutions
Phone : +44 117 9071438
E-Mail: jcownie@dolphinics.com
WWW   : http://www.dolphinics.com/toolworks

