Point-2-Point communicator for exchange messages between processes.
More...
#include <p2pcommunicator.hh>
|
typedef MPIHelper::MPICommunicator | MPICommunicator |
| type of MPI communicator, either MPI_Comm or NoComm as defined in MPIHelper
|
|
typedef MsgBuffer | MessageBufferType |
| type of message buffer used
|
|
|
| Point2PointCommunicator (const MPICommunicator &mpiComm=MPIHelper::getCommunicator()) |
| constructor taking mpi communicator
|
|
| Point2PointCommunicator (const BaseType &comm) |
| constructor taking collective communication
|
|
void | insertRequest (const std::set< int > &sendLinks, const std::set< int > &recvLinks) |
| insert communication request with a set os ranks to send to and a set of ranks to receive from
|
|
int | sendLinks () const |
| return number of processes we will send data to
|
|
int | recvLinks () const |
| return number of processes we will receive data from
|
|
const vector_t & | recvBufferSizes () const |
| return vector containing possible recv buffer sizes
|
|
int | sendLink (const int rank) const |
| return send link number for a given send rank number
|
|
int | recvLink (const int rank) const |
| return recv link number for a given recv rank number
|
|
const std::vector< int > & | sendDest () const |
| return vector containing all process numbers we will send to
|
|
const std::vector< int > & | recvSource () const |
| return vector containing all process numbers we will receive from
|
|
void | removeLinkage () |
| remove stored linkage
|
|
virtual std::vector< MessageBufferType > | exchange (const std::vector< MessageBufferType > &) const |
| exchange message buffers with peers defined by inserted linkage
|
|
virtual void | exchange (DataHandleInterface &) const |
| exchange data with peers, handle defines pack and unpack of data
|
|
virtual void | exchangeCached (DataHandleInterface &) const |
| exchange data with peers, handle defines pack and unpack of data, if receive buffers are known from previous run and have not changed communication could be faster
|
|
|
void | computeDestinations (const linkage_t &linkage, vector_t &dest) |
|
int | getMessageTag (const unsigned int increment) const |
|
int | getMessageTag () const |
|
|
linkage_t | sendLinkage_ |
|
linkage_t | recvLinkage_ |
|
vector_t | sendDest_ |
|
vector_t | recvSource_ |
|
vector_t | _recvBufferSizes |
|
bool | _recvBufferSizesComputed |
|
|
static const int | messagetag = 234 |
|
template<class MsgBuffer>
class Dune::Point2PointCommunicator< MsgBuffer >
Point-2-Point communicator for exchange messages between processes.
The documentation for this class was generated from the following files: