|
Boost Users : |
Subject: Re: [Boost-users] mpi isend to group
From: Riccardo Murri (riccardo.murri_at_[hidden])
Date: 2012-12-28 15:57:27
On Thu, Dec 27, 2012 at 3:15 PM, Philipp Kraus
<philipp.kraus_at_[hidden]> wrote:
> Is there a way to create a non-blocking group communication? How can I send if data exists, a message
> to all nodes and receive it on each node also with non-blocking communication?
I'm afraid there's no non-blocking collective communication primitive
in MPI 2. Hence, no such feature in Boost.MPI.
The "broadcast" collective apparently is the closest match to your
requirements, except that it's blocking:
http://www.boost.org/doc/libs/1_52_0/doc/html/boost/mpi/broadcast.html
Use of `broadcast` would imply that your code sends an id value even
when there is nothing to send. Another option would be to write your
own "ibroadcast" on top of isend/irecv, e.g., rank n sends the id
value to ranks 2n and 2n+1.
Cheers,
Riccardo
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net