On Mar 6, 2012, at 4:43 PM, Timothy Stitt 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.
Ouch. Could you send a small reproducer?
Per your other question:
> How well-implemented are the one-sided communication routines? Are they something that could be trusted in a production code?
Meh. They work, but I don't know if they've been strenuously tested. At least one or two users have reported problems with them in some scenarios (for not-well-defined "some scenarios"). Personally, I'd wait for the re-write that is coming for the new MPI-3 collectives. The definitions for RMA in MPI-3 are *much* better than they were in MPI-2, and I know Brian is working hard on the new OMPI MPI-3 RMA implementation.
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/