Newsgroups: comp.parallel
From: Richard Barrett <rbarrett@lanl.gov>
Subject: Re: Is MPI_BCAST blocking or nonblocking for the sender?
Organization: Los Alamos National Laboratory
Date: 18 Jun 1997 20:48:52 GMT
Message-ID: <5o9hjk$2pq@server1.ctc.com>

>Is MPI_BCAST blocking or nonblocking for the sender
>I've heard conflicting details on this.

The standard say, "On return, the contents of root's
communication buffer has been copied to all (participating)
processes". Purposely ambiguous wrt blocking...
So define blocking, Marc :)

My interpretation:

MPI_Bcast is blocking, where blocking means that once you return
from the bcast, you may assume the data is there and
available for use. How this is accomplished can be
implemented in different ways, which could be the
source of the confusion. For example, an unfortunate 
implementation might require the root process to block
until all processes have the data, while a more desirable
implementation would "release" processes as they finish
their roles in a tree. 

The "Using MPI" book gives an example showing how 
to implement a nonblocking bcast, saying that MPI does
not provide such a thing.

Richard

--
Articles to parallel@ctc.com (Administrative: bigrigg@ctc.com)
Archive: http://www.hensa.ac.uk/parallel/internet/usenet/comp.parallel





