On Tue, Mar 6, 2012 at 15:43, Timothy Stitt <Timothy.Stitt.9_at_[hidden]> wrote:
> Can anyone tell me whether it is legal to pass zero values for some of the
> send count elements in an MPI_AlltoallV() call? I want to perform an
> all-to-all operation but for performance reasons do not want to send data
> to various ranks who don't need to receive any useful values. If it is
> legal, can I assume the implementation is smart enough to not send messages
> when the send count is 0?
> FYI: my tests show that AlltoallV operations with various send count
> values set to 0...hangs.
This is allowed by the standard, but be warned that it is likely to perform
poorly compared to what could be done with point-to-point or one-sided
operations if most links are empty.