[Mpi-forum] MPI "Allocate receive" proposal

Jed Brown jedbrown at mcs.anl.gov
Mon Aug 26 15:11:11 CDT 2013

"Underwood, Keith D" <keith.d.underwood at intel.com> writes:
> But, do they know *approximately* the size of the message that is
> expected?  Because, if they do, then most of the advantage isn't
> there.  I struggle a little bit with the idea of well coded apps that
> have little enough idea about the size of the message that they need
> this.

Two example scenarios:

1. After graph partitioning, we know who will receive our vertices, but
   we don't know how many we will receive or from whom.  In incremental
   load balancing, we might know that we only receive from our
   neighbors, and we have a bound on the total amount of data that we'll
   receive, but may not have enough memory to post maximal receives from
   all neighbors.  (Only the incremental case is relevant for
   performance because non-incremental partitioning is way expensive,
   thus workaround 2 is fine.)

2. In particle simulations, the physics may provide an upper bound on
   total data received, but we don't know in advance from whom.

I think that in both of these cases, the user ultimately wants to
receive into a single buffer in some way.  They might in fact have
allocated the buffer in advance and they'd be happy if they could decide
on a starting point and increment a counter each time a message appears.
Neither MPI_Mprobe with ANY_SOURCE or looping over MPI_Iprobe are
attractive compared to MPI_Waitsome, but the latter currently cannot be
used in the scenario above.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.mpi-forum.org/pipermail/mpi-forum/attachments/20130826/e4871a28/attachment-0001.pgp>

More information about the mpi-forum mailing list