|
DIY
3.0
data-parallel out-of-core C++ library
|
Simple wrapper around MPI_Comm.
More...
#include <diy/mpi/communicator.hpp>
Public Member Functions | |
| communicator (MPI_Comm comm=MPI_COMM_WORLD, bool owner=false) | |
| communicator (const communicator &other) | |
| communicator (communicator &&other) | |
| communicator & | operator= (const communicator &other) |
| communicator & | operator= (communicator &&other) |
| int | rank () const |
| int | size () const |
| template<class T > | |
| void | send (int dest, int tag, const T &x) const |
Send x to processor dest using tag (blocking). | |
| template<class T > | |
| status | recv (int source, int tag, T &x) const |
Receive x from dest using tag (blocking). If T is an std::vector<...>, recv will resize it to fit exactly the sent number of values. | |
| template<class T > | |
| request | isend (int dest, int tag, const T &x) const |
Non-blocking version of send(). | |
| template<class T > | |
| request | irecv (int source, int tag, T &x) const |
Non-blocking version of recv(). If T is an std::vector<...>, its size must be big enough to accommodate the sent values. | |
| status | probe (int source, int tag) const |
| probe | |
| optional< status > | iprobe (int source, int tag) const |
| iprobe | |
| void | barrier () const |
| barrier | |
| operator MPI_Comm () const | |
| communicator | split (int color, int key=0) const |
| split When keys are the same, the ties are broken by the rank in the original comm. | |
Simple wrapper around MPI_Comm.
1.8.6