On Dec 17, 2015, at 1:39 PM, Eric Chamberland
wrote:
>
> Just to be clear: we *always* call MPI_Wait. Now the question was about
> *when* to do it.
Ok. Remember that the various flavors of MPI_Test are acceptable, too. And
it's ok to call MPI_Test*/MPI_Wait* with MPI_REQUEST_NULL (i.e., if
Le 2015-12-17 12:45, Jeff Squyres (jsquyres) a écrit :
On Dec 17, 2015, at 8:57 AM, Eric Chamberland
wrote:
But I would like to know if the MPI I am using is able to do message
progression or not: So how do an end-user like me can knows that? Does-it rely
on hardware? Is there a #define by
On Dec 17, 2015, at 8:57 AM, Eric Chamberland
wrote:
>
> But I would like to know if the MPI I am using is able to do message
> progression or not: So how do an end-user like me can knows that? Does-it
> rely on hardware? Is there a #define by OpenMPI that one can uses into his
> code?
An M
Hi Gilles,
Le 2015-10-21 20:31, Gilles Gouaillardet a écrit :
#3 difficult question ...
first, keep in mind there is currently no progress thread in Open MPI.
that means messages can be received only when MPI_Wait* or MPI_Test* is
invoked. you might hope messages are received when doing some
com
Eric,
A tree based implementation for a gather is not that critical, because the root
will always have to gather the entire data, so from it’s perspective going from
a star to a tree-based topology is basically exchanging latencies for bandwidth
(a little bit more complicated in practice). In f
Hi Gilles and Josh,
I think my reply apply to both of your answers which I thank you for.
On 21/10/15 08:31 PM, Gilles Gouaillardet wrote:
Eric,
#2 maybe not ...
a tree based approach has O(log(n)) scaling
(compared to O(n) scaling with your linear method.
so at scale, MPI_Igather will hopeful
Instead of posting a single, big MPI_Igather, why not post and
simultaneously progress multiple, small MPI_Igathers? In this way, you can
pipeline multiple outstanding collectives and do post collective processing
as soon as requests complete. Without network hardware offload
capability, Gilles'
ob
Eric,
#1 MPI_Igather uses only one MPI_Request, and it is marked as completed
when all data has been received.
so no, you cannot process data as it is received.
(and btw, that would require extra subroutines to ask which piece of
data has already been received)
#2 maybe not ...
a tree based
Hi,
A long time ago (in 2002) we programmed here a non-blocking MPI_Igather
with equivalent calls to MPI_Isend/MPI_Irecv (see the 2 attached files).
A very convenient advantage of this version, is that I can do some work
on the root process as soon as it start receiving data... Then, it wait