It sounds like you may like to read about MPI_ANY_SOURCE as the source for
MPI_Recv.  Using MPI_Probe, with MPI_ANY_SOURCE, may also be a solution.

> HI,
>
> I need to transfer data from multiple sources to one destination.
> The requirement is:
>
> (1) The sources and destination nodes may work asynchronously.
>
> (2) Each source node generates data package in their own paces.
>     And, there may be many packages to send. Whenever, a data package
>     is generated , it should be sent to the desination node at once.
>     And then, the source node continue to work on generating the next
>     package.
>
> (3) There is only one destination node , which must receive all data
>     package generated from the source nodes.
>     Because the source and destination nodes may work asynchronously,
>     the destination node should not wait for a specific source node until
>     the source node sends out its data.
>
>     The destination node should be able to receive data package
>     from anyone source node whenever the data package is available in a
>     source node.
>
> My question is :
>
> What MPI function should be used to implement the protocol above ?
>
> If I use MPI_Send/Recv, they are blocking function. The destination
> node have to wait for one node until its data is available.
>
> The communication overhead is too high.
>
> If I use MPI_Bsend, the destination node has to use MPI_Recv to ,
> a Blocking receive for a message .
>
> This can make the destination node wait for only one source node and
> actually other source nodes may have data avaiable.
>
>
> Any help or comment is appreciated !!!
>
> thanks
>
> Dec. 28 2008
>
>
> _________________________________________________________________
> It?s the same HotmailĀ®. If by ?same? you mean up to 70% faster.
> http://windowslive.com/online/hotmail?ocid=TXT_TAGLM_WL_hotmail_acq_broad1_122008_______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


Reply via email to