From: "Alain Coetmeur" <alain.coetmeur@icdc.caissedesdepots.fr>
Newsgroups: comp.parallel.mpi
Subject: Re: Context in mpi
Date: Thu, 24 Dec 1998 17:03:54 +0100
Organization: Informatique-CDC
Message-Id: <75tq80$pt86@puligny.idt.cdc.fr>
References: <Pine.LNX.4.03.9812231612010.8727-100000@tx>
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit


Brandon Mitchell a écrit dans le message ...
>I'm building a layer above mpi as part of a research project.  It involves
>me keeping a buffer for up to one message from each host.  I then pass the
>message from the buffer to the users process that calls my version of
>MPI_Recv.

> I'd like to see what sources are in the comm that is passed to
>my verion of MPI_Recv.

I don't understand your intentions.
if you want to know from where come a message,
then the MPI_Status filled by MPI_Recv contain
informations like the rank of the sender relative to the
MPI_Communicator you use.

if you want to know from whom is a message that is
coming, without getting it really, try to use
MPI_Iprobe that set the status like MPI_recv
but does not read the data, yet it guatantee that
calling a MPI_Recv with the same parameters
return this message.

for other intention, like queue messages separately from each host,
use asynchronous receive like MPI_Irecv , and MPI_Test
or MPI_Wait (any,some) to check when data are really received.
for your proble you can try to launch one async receive in a buffer
 for each potential sender and MPI_Test if data is received.




> Is that possible?  Looking at the source of MPICH,
>it looks like I'll need to add some functionallity that I don't want to
>add.
this would break compatibility with other MPI implementation,
breaking portability...

