p2pcommunicator.hh
Go to the documentation of this file.
187 inline void insertRequest( const std::set< int >& sendLinks, const std::set< int >& recvLinks );
221 virtual std::vector< MessageBufferType > exchange (const std::vector< MessageBufferType > &) const;
Definition: p2pcommunicator.hh:166 virtual void unpack(const int link, MessageBufferType &os)=0 virtual ~DataHandleInterface() Definition: p2pcommunicator.hh:170 virtual void pack(const int link, MessageBufferType &os)=0 DataHandleInterface() Definition: p2pcommunicator.hh:168 virtual void localComputation() Definition: p2pcommunicator.hh:174 Point-2-Point communicator for exchange messages between processes. Definition: p2pcommunicator.hh:132 MsgBuffer MessageBufferType type of message buffer used Definition: p2pcommunicator.hh:138 Point2PointCommunicator< MessageBufferType > ThisType Definition: p2pcommunicator.hh:142 int recvLinks() const return number of processes we will receive data from Definition: p2pcommunicator.hh:193 int recvLink(const int rank) const return recv link number for a given recv rank number Definition: p2pcommunicator.hh:206 int getMessageTag() const Definition: p2pcommunicator.hh:243 Dune::Communication< MPICommunicator > BaseType Definition: p2pcommunicator.hh:141 bool _recvBufferSizesComputed Definition: p2pcommunicator.hh:157 const std::vector< int > & sendDest() const return vector containing all process numbers we will send to Definition: p2pcommunicator.hh:213 const std::vector< int > & recvSource() const return vector containing all process numbers we will receive from Definition: p2pcommunicator.hh:215 MPIHelper::MPICommunicator MPICommunicator type of MPI communicator, either MPI_Comm or NoComm as defined in MPIHelper Definition: p2pcommunicator.hh:135 std::map< int, int > linkage_t Definition: p2pcommunicator.hh:147 int sendLink(const int rank) const return send link number for a given send rank number Definition: p2pcommunicator.hh:199 virtual void exchangeCached(DataHandleInterface &) const exchange data with peers, handle defines pack and unpack of data, if receive buffers are known from p... Definition: p2pcommunicator_impl.hh:617 int sendLinks() const return number of processes we will send data to Definition: p2pcommunicator.hh:190 vector_t _recvBufferSizes Definition: p2pcommunicator.hh:156 const vector_t & recvBufferSizes() const return vector containing possible recv buffer sizes Definition: p2pcommunicator.hh:196 virtual std::vector< MessageBufferType > exchange(const std::vector< MessageBufferType > &) const exchange message buffers with peers defined by inserted linkage Definition: p2pcommunicator_impl.hh:599 Point2PointCommunicator(const MPICommunicator &mpiComm=MPIHelper::getCommunicator()) constructor taking mpi communicator Definition: p2pcommunicator.hh:179 static const int messagetag Definition: p2pcommunicator.hh:145 int getMessageTag(const unsigned int increment) const Definition: p2pcommunicator.hh:235 std::vector< int > vector_t Definition: p2pcommunicator.hh:148 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 Definition: p2pcommunicator_impl.hh:59 void computeDestinations(const linkage_t &linkage, vector_t &dest) Definition: p2pcommunicator_impl.hh:45 void removeLinkage() remove stored linkage Definition: p2pcommunicator_impl.hh:30 Point2PointCommunicator(const BaseType &comm) constructor taking collective communication Definition: p2pcommunicator.hh:183 Definition: p2pcommunicator.hh:39 void resetReadPosition() reset read position of buffer to beginning Definition: p2pcommunicator.hh:57 size_t size() const return size of buffer Definition: p2pcommunicator.hh:59 std::pair< char *, int > buffer() const return pointer to buffer and size for use with MPI functions Definition: p2pcommunicator.hh:123 void reserve(const size_t size) reserve memory for 'size' entries Definition: p2pcommunicator.hh:62 void resize(const size_t size) resize buffer to 'size' entries Definition: p2pcommunicator.hh:68 SimpleMessageBuffer(const double factor=1.1) constructor taking memory reserve estimation factor (default is 1.1, i.e. 10% over estimation ) Definition: p2pcommunicator.hh:48 void read(T &value) const read value from buffer, value must implement the operator= correctly (i.e. no internal pointers etc.... Definition: p2pcommunicator.hh:103 void write(const T &value) write value to buffer, value must implement the operator= correctly (i.e. no internal pointers etc.... Definition: p2pcommunicator.hh:75 The namespace Dune is the main namespace for all Dune code. Definition: common/CartesianIndexMapper.hpp:10 T * increment(T *cc, int i, int dim) Increment an iterator over an array that reresents a dense row-major matrix with dims columns. Definition: GridHelpers.hpp:354 |