WARPXM v1.10.0
|
Class for Unique Variable Rank Synchronizer This is basically empty because this is not synchronized, instead some MPI barrier is used such as allreduce to get the value on all processes. More...
#include <unique_variable_synchronizer.h>
Class for Unique Variable Rank Synchronizer This is basically empty because this is not synchronized, instead some MPI barrier is used such as allreduce to get the value on all processes.
I'm not really sure if the rank synchronizer is actually used, as I think its the patch synchronizer that does the actual synchronization, but not sure. However, WARPXM requires a rank synchronizer though in the wxm::temperal_solver anyway.
Public Member Functions | |
UniqueVariableRankSynchronizer (const WmDomain &domain) | |
Constructor. | |
~UniqueVariableRankSynchronizer () | |
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::UniqueDistributedVariable &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. | |
Protected Attributes inherited from wxm::sync::rank_synchronizer_t | |
const WmDomain & | _domain |
Domain object. | |
wxm::dfem::sync::UniqueVariableRankSynchronizer::UniqueVariableRankSynchronizer | ( | const WmDomain & | domain | ) |
Constructor.
domain | Domain object |
wxm::dfem::sync::UniqueVariableRankSynchronizer::~UniqueVariableRankSynchronizer | ( | ) |
Destructor.
|
protected |
Add a component to the synchronization.
Cannot add new variables after sync has been called
variable | Variable to sync |
component_index | Component of interest |
|
inlinevirtual |
Add a component to the synchronization.
Cannot add new variables after sync has been called
variable | Variable to sync |
component_index | Component of interest |
Implements wxm::sync::rank_synchronizer_t.
|
protected |
Finalizes the syncrhonization.
|
virtual |
Blocking sync call.
Implements wxm::sync::rank_synchronizer_t.
|
virtual |
Non-blocking sync call Initiates the recv buffer and sends remote data out.
Implements wxm::sync::rank_synchronizer_t.
|
virtual |
Blocking sync wait call Transmits local data, and waits until remote recv is complete.
Implements wxm::sync::rank_synchronizer_t.
|
protected |
Is the class finalized - if not then I can't add new variables.