![]() |
fpmas 1.6
|
#include <ghost_mode.h>


Public Types | |
| typedef api::communication::TypedMpi< NodeUpdatePack< T > > | DataMpi |
| typedef api::communication::TypedMpi< DistributedId > | IdMpi |
Public Member Functions | |
| GhostDataSync (DataMpi &data_mpi, IdMpi &id_mpi, api::graph::DistributedGraph< T > &graph) | |
| void | synchronize () override |
| void | synchronize (std::unordered_set< api::graph::DistributedNode< T > * > nodes) override |
| virtual void | synchronize ()=0 |
| virtual void | synchronize (std::unordered_set< api::graph::DistributedNode< T > * > nodes)=0 |
GhostMode DataSync implementation.
Data of each DISTANT node is fetched from host processes at each graph synchronization operation.
| typedef api::communication::TypedMpi<NodeUpdatePack<T> > fpmas::synchro::ghost::GhostDataSync< T >::DataMpi |
TypedMpi used to transmit NodeUpdatePacks with MPI.
| typedef api::communication::TypedMpi<DistributedId> fpmas::synchro::ghost::GhostDataSync< T >::IdMpi |
TypedMpi used to transmit DistributedIds with MPI.
|
inline |
GhostDataSync constructor.
| data_mpi | DataMpi instance |
| id_mpi | IdMpi instance |
| graph | reference to the associated DistributedGraph |
|
overridevirtual |
Fetches updated data for all the DISTANT nodes of the DistributedGraph from the corresponding host processes.
Implements fpmas::api::synchro::DataSync< T >.
|
overridevirtual |
Performs a partial synchronization of the specified node set.
The actual behavior is highly dependent on the currently implemented SyncMode.
The specified nodes list might contain LOCAL and DISTANT nodes: it is the responsibility of the implemented SyncMode to eventually not do anything with LOCAL nodes.
| nodes | nodes to synchronize |
Implements fpmas::api::synchro::DataSync< T >.