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: