A dynamic sparse data exchange (DSDE) of byte messages between processes. More...
#include <vector>#include <cstddef>#include <cassert>#include <mpi.h>Go to the source code of this file.
Implements the nonblocking-consensus (NBX) algorithm of Hoefler et al. (2010), "Scalable Communication Protocols for Dynamic Sparse Data Exchange". Each process knows only the messages it sends; the senders and message sizes are discovered without any global (O(number of processes)) data structure or dense collective, using nonblocking synchronous sends, message probing and a nonblocking barrier.
Namespaces | |
| namespace | Dumux |
| namespace | Dumux::Detail |
Functions | |
| template<class Communication> | |
| std::vector< char > | Dumux::Detail::exchangeSparse (const Communication &comm, std::vector< std::vector< char > > &sendBufs, int tag=7373) |
| Exchange variable-sized byte messages with a sparse set of peer processes. | |