WARPXM v1.10.0
Loading...
Searching...
No Matches
wxm::dfem::sync::rank_synchronizer_t Class Reference

#include <synchronizer.h>

Inheritance diagram for wxm::dfem::sync::rank_synchronizer_t:
wxm::sync::rank_synchronizer_t

Public Member Functions

 rank_synchronizer_t (const WmDomain &domain)
 Constructor.
 
 ~rank_synchronizer_t ()
 Destructor.
 
void add_component (wxm::variable::distributed_variable_t &variable, const int component_index)
 Add a component to the synchronization.
 
void sync ()
 Blocking sync call.
 
void sync_nb ()
 Non-blocking sync call Initiates the recv buffer and sends remote data out.
 
void sync_nb_wait ()
 Blocking sync wait call Transmits local data, and waits until remote recv is complete.
 
- Public Member Functions inherited from wxm::sync::rank_synchronizer_t
 rank_synchronizer_t (const WmDomain &domain)
 Constructor.
 
virtual ~rank_synchronizer_t ()
 Destructor.
 
virtual void add_component (wxm::variable::distributed_variable_t &variable, const int component_index)=0
 Add a component to the synchronization.
 
virtual void sync ()=0
 Blocking sync call.
 
virtual void sync_nb ()=0
 Non-blocking sync call Initiates the recv buffer and sends remote data out.
 
virtual void sync_nb_wait ()=0
 Blocking sync wait call Transmits local data, and waits until remote recv is complete.
 

Protected Member Functions

void add_component (wxm::dfem::variable::distributed_variable_t &variable, const int component_index)
 Add a component to the synchronization.
 
void finalize ()
 Finalizes the syncrhonization.
 

Protected Attributes

bool _finalized
 Is the class finalized - if not then I can't add new variables.
 
tools::rank_exchanges_t _send_transfers
 Send transfers.
 
tools::rank_exchanges_t _recv_transfers
 Recv transfers.
 
- Protected Attributes inherited from wxm::sync::rank_synchronizer_t
const WmDomain_domain
 Domain object.
 

Constructor & Destructor Documentation

◆ rank_synchronizer_t()

wxm::dfem::sync::rank_synchronizer_t::rank_synchronizer_t ( const WmDomain domain)

Constructor.

Parameters
domainDomain object

◆ ~rank_synchronizer_t()

wxm::dfem::sync::rank_synchronizer_t::~rank_synchronizer_t ( )
virtual

Destructor.

Reimplemented from wxm::sync::rank_synchronizer_t.

Member Function Documentation

◆ add_component() [1/2]

void wxm::dfem::sync::rank_synchronizer_t::add_component ( wxm::dfem::variable::distributed_variable_t variable,
const int  component_index 
)
protected

Add a component to the synchronization.

Cannot add new variables after sync has been called

Parameters
variableVariable to sync
component_indexComponent of interest

◆ add_component() [2/2]

void wxm::dfem::sync::rank_synchronizer_t::add_component ( wxm::variable::distributed_variable_t variable,
const int  component_index 
)
inlinevirtual

Add a component to the synchronization.

Cannot add new variables after sync has been called

Parameters
variableVariable to sync
component_indexComponent of interest

Implements wxm::sync::rank_synchronizer_t.

◆ finalize()

void wxm::dfem::sync::rank_synchronizer_t::finalize ( )
protected

Finalizes the syncrhonization.

◆ sync()

void wxm::dfem::sync::rank_synchronizer_t::sync ( )
virtual

Blocking sync call.

Implements wxm::sync::rank_synchronizer_t.

◆ sync_nb()

void wxm::dfem::sync::rank_synchronizer_t::sync_nb ( )
virtual

Non-blocking sync call Initiates the recv buffer and sends remote data out.

Implements wxm::sync::rank_synchronizer_t.

◆ sync_nb_wait()

void wxm::dfem::sync::rank_synchronizer_t::sync_nb_wait ( )
virtual

Blocking sync wait call Transmits local data, and waits until remote recv is complete.

Implements wxm::sync::rank_synchronizer_t.

Member Data Documentation

◆ _finalized

bool wxm::dfem::sync::rank_synchronizer_t::_finalized
protected

Is the class finalized - if not then I can't add new variables.

◆ _recv_transfers

tools::rank_exchanges_t wxm::dfem::sync::rank_synchronizer_t::_recv_transfers
protected

Recv transfers.

◆ _send_transfers

tools::rank_exchanges_t wxm::dfem::sync::rank_synchronizer_t::_send_transfers
protected

Send transfers.


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