WARPXM v1.10.0
Loading...
Searching...
No Matches
wxm::sync::patch_synchronizer_t Class Referenceabstract

#include <synchronizer.h>

Inheritance diagram for wxm::sync::patch_synchronizer_t:
wxm::dfem::sync::UniqueVariablePatchSynchronizer wxm::dfem::sync::patch_synchronizer_t

Public Member Functions

 patch_synchronizer_t (const WmUnstructuredPatch &patch, const int tag_seed)
 Constructor.
 
virtual ~patch_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 Attributes

const WmUnstructuredPatch_patch
 Domain object.
 
int _tag_seed
 Tag seed - used to generate shared tags.
 

Constructor & Destructor Documentation

◆ patch_synchronizer_t()

wxm::sync::patch_synchronizer_t::patch_synchronizer_t ( const WmUnstructuredPatch patch,
const int  tag_seed 
)
inline

Constructor.

Parameters
domainDomain object

◆ ~patch_synchronizer_t()

virtual wxm::sync::patch_synchronizer_t::~patch_synchronizer_t ( )
inlinevirtual

Destructor.

Reimplemented in wxm::dfem::sync::patch_synchronizer_t.

Member Function Documentation

◆ add_component()

virtual void wxm::sync::patch_synchronizer_t::add_component ( wxm::variable::distributed_variable_t variable,
const int  component_index 
)
pure virtual

Add a component to the synchronization.

Cannot add new variables after sync has been called

Parameters
variableVariable to sync
component_indexComponent of interest

Implemented in wxm::dfem::sync::patch_synchronizer_t, and wxm::dfem::sync::UniqueVariablePatchSynchronizer.

◆ sync()

virtual void wxm::sync::patch_synchronizer_t::sync ( )
pure virtual

◆ sync_nb()

virtual void wxm::sync::patch_synchronizer_t::sync_nb ( )
pure virtual

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

Implemented in wxm::dfem::sync::patch_synchronizer_t, and wxm::dfem::sync::UniqueVariablePatchSynchronizer.

◆ sync_nb_wait()

virtual void wxm::sync::patch_synchronizer_t::sync_nb_wait ( )
pure virtual

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

Implemented in wxm::dfem::sync::patch_synchronizer_t, and wxm::dfem::sync::UniqueVariablePatchSynchronizer.

Member Data Documentation

◆ _patch

const WmUnstructuredPatch& wxm::sync::patch_synchronizer_t::_patch
protected

Domain object.

◆ _tag_seed

int wxm::sync::patch_synchronizer_t::_tag_seed
protected

Tag seed - used to generate shared tags.


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