ug4
|
Communication Scheme for synchronization of arrays or similar datastructures. More...
#include <communication_scheme.h>
Public Member Functions | |
int | get_element_size () const |
void | receive (int pid, size_t index, value_type &v) |
const value_type & | send (int pid, size_t index) const |
StdArrayCommunicationScheme (TArray &t) | |
![]() | |
virtual bool | collect (ug::BinaryBuffer &buff, const Interface &interface) |
send data on the interface based on TDerived::send | |
StdArrayCommunicationScheme< TArray > & | derived () |
get the derived class | |
virtual bool | extract (ug::BinaryBuffer &buff, const Interface &interface) |
receive data on the interface and hand it over to TDerived::receive | |
virtual int | get_required_buffer_size (const Interface &interface) |
get the size of the required buffer for an interface | |
![]() | |
virtual bool | begin_layout_collection (const Layout *pLayout) |
signals the beginning of a layout collection. | |
virtual bool | begin_layout_extraction (const Layout *pLayout) |
signals the beginning of a layout extraction. | |
virtual void | begin_level_extraction (int level) |
signals that a new layout-level will now be processed. | |
virtual bool | end_layout_collection (const Layout *pLayout) |
signals the end of a layout collection | |
virtual bool | end_layout_extraction (const Layout *pLayout) |
signals the end of a layout extraction | |
virtual | ~ICommunicationPolicy () |
Private Types | |
typedef TArray::value_type | value_type |
Private Attributes | |
TArray & | m_arr |
Additional Inherited Members | |
![]() | |
typedef Layout::Interface | Interface |
typedef IndexLayout | Layout |
Communication Scheme for synchronization of arrays or similar datastructures.
TArray | array to sync. has to support TArray::value_type operator [] (size_t i) const. |
example: std::vector<int> vec; ... do sth with the vector on both processors transfer data from master to slave StdArrayCommunicationScheme<std::vector<int> > arrScheme(vec) CommunicateOnIntefaces(parallelCommunicator, slaveLayout, masterLayout, arrScheme); ... done. Now all master nodes have overwritten the data on the slave nodes.
|
private |
|
inline |
|
inline |
|
inline |
References ug::StdArrayCommunicationScheme< TArray >::m_arr.
|
inline |
References ug::StdArrayCommunicationScheme< TArray >::m_arr.
|
private |