![]() |
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 >.