fpmas 1.6
Public Member Functions | List of all members
fpmas::synchro::hard::ghost_link::HardSyncLinker< T > Class Template Reference

#include <hard_sync_linker.h>

Inheritance diagram for fpmas::synchro::hard::ghost_link::HardSyncLinker< T >:
Inheritance graph
[legend]
Collaboration diagram for fpmas::synchro::hard::ghost_link::HardSyncLinker< T >:
Collaboration graph
[legend]

Public Member Functions

 HardSyncLinker (communication::TypedMpi< graph::EdgePtrWrapper< T > > &edge_mpi, communication::TypedMpi< DistributedId > &id_mpi, fpmas::api::graph::DistributedGraph< T > &graph, ServerPackBase &server_pack)
 
void synchronize () override
 
- Public Member Functions inherited from fpmas::synchro::ghost::GhostSyncLinkerBase< T >
 GhostSyncLinkerBase (EdgeMpi &edge_mpi, IdMpi &id_mpi, api::graph::DistributedGraph< T > &graph)
 
void link (EdgeApi *edge) override
 
void unlink (EdgeApi *edge) override
 
void removeNode (NodeApi *node) override
 
virtual void link (api::graph::DistributedEdge< T > *edge)=0
 
virtual void unlink (api::graph::DistributedEdge< T > *edge)=0
 
virtual void removeNode (api::graph::DistributedNode< T > *node)=0
 
virtual void synchronize ()=0
 

Additional Inherited Members

- Public Types inherited from fpmas::synchro::ghost::GhostSyncLinkerBase< T >
typedef api::graph::DistributedEdge< T > EdgeApi
 
typedef api::graph::DistributedNode< T > NodeApi
 
typedef api::utils::PtrWrapper< EdgeApiEdgePtr
 
typedef api::communication::TypedMpi< EdgePtrEdgeMpi
 
typedef api::communication::TypedMpi< DistributedIdIdMpi
 
- Protected Member Functions inherited from fpmas::synchro::ghost::GhostSyncLinkerBase< T >
void synchronize_links ()
 

Detailed Description

template<typename T>
class fpmas::synchro::hard::ghost_link::HardSyncLinker< T >

HardSyncMode integration of the ghost::GhostSyncLinker component.

This allows to define an HardSyncMode where data is managed using HardDataSync, but linker operations are managed using collective communications as in GhostMode.

See also
fpmas::synchro::hard::ghost_link::HardSyncMode

Constructor & Destructor Documentation

◆ HardSyncLinker()

template<typename T >
fpmas::synchro::hard::ghost_link::HardSyncLinker< T >::HardSyncLinker ( communication::TypedMpi< graph::EdgePtrWrapper< T > > &  edge_mpi,
communication::TypedMpi< DistributedId > &  id_mpi,
fpmas::api::graph::DistributedGraph< T > &  graph,
ServerPackBase server_pack 
)
inline

HardSyncLinker constructor.

Parameters
edge_mpiEdgePtr MPI communicator
id_mpiDistributedId MPI communicator
graphassociated graph
server_packassociated server_pack used for synchronization

Member Function Documentation

◆ synchronize()

template<typename T >
void fpmas::synchro::hard::ghost_link::HardSyncLinker< T >::synchronize ( )
inlineoverridevirtual

Synchronizes link, unlink and node removal operations across the processes.

Implements fpmas::api::synchro::SyncLinker< T >.


The documentation for this class was generated from the following file: