Synchronization of variables in sequential mode. More...
Public Member Functions | |
| NullVariableSynchronizer (IParallelMng *pm, const ItemGroup &group) | |
| IParallelMng * | parallelMng () override |
| Associated parallel manager. | |
| const ItemGroup & | itemGroup () override |
| Entity group used for synchronization. | |
| void | compute () override |
| Recalculates the synchronization information. | |
| void | changeLocalIds (Int32ConstArrayView old_to_new_ids) override |
| Called when the local IDs of the entities are modified. | |
| void | synchronize (IVariable *var) override |
| Synchronizes the variable var in blocking mode. | |
| void | synchronize (IVariable *var, Int32ConstArrayView local_ids) override |
| Synchronizes the variable var on the entities local_ids in blocking mode. | |
| void | synchronize (VariableCollection vars) override |
| Synchronizes the variables vars in blocking mode. | |
| void | synchronize (VariableCollection vars, Int32ConstArrayView local_ids) override |
| Synchronizes the variables vars in blocking mode. | |
| Int32ConstArrayView | communicatingRanks () override |
| Ranks of subdomains with which communication occurs. | |
| Int32ConstArrayView | sharedItems (Int32 index) override |
| List of local IDs of entities shared with a subdomain. | |
| Int32ConstArrayView | ghostItems (Int32 index) override |
| List of local IDs of ghost entities with a subdomain. | |
| void | synchronizeData (IData *data) override |
| Synchronizes the data data. | |
| EventObservable< const VariableSynchronizerEventArgs & > & | onSynchronized () override |
| Event sent at the beginning and end of synchronization. | |
Private Attributes | |
| IParallelMng * | m_parallel_mng |
| ItemGroup | m_item_group |
| EventObservable< const VariableSynchronizerEventArgs & > | m_on_synchronized |
Synchronization of variables in sequential mode.
Implements IVariableSynchronizer in sequential mode.
This class performs no operations.
Definition at line 37 of file NullVariableSynchronizer.cc.
|
inline |
Definition at line 42 of file NullVariableSynchronizer.cc.
|
inlineoverridevirtual |
Called when the local IDs of the entities are modified.
Implements Arcane::IVariableSynchronizer.
Definition at line 57 of file NullVariableSynchronizer.cc.
|
inlineoverridevirtual |
Ranks of subdomains with which communication occurs.
Implements Arcane::IVariableSynchronizer.
Definition at line 87 of file NullVariableSynchronizer.cc.
|
inlineoverridevirtual |
Recalculates the synchronization information.
This operation is collective.
This function must be called if the entities in itemGroup() change owner or if the group itself evolves. TODO: call this function automatically if needed.
Implements Arcane::IVariableSynchronizer.
Definition at line 56 of file NullVariableSynchronizer.cc.
|
inlineoverridevirtual |
List of local IDs of ghost entities with a subdomain.
The rank of the subdomain is that of communicatingRanks()[index].
Implements Arcane::IVariableSynchronizer.
Definition at line 98 of file NullVariableSynchronizer.cc.
|
inlineoverridevirtual |
Entity group used for synchronization.
The current implementation only supports the group of all entities of a family.
Implements Arcane::IVariableSynchronizer.
Definition at line 55 of file NullVariableSynchronizer.cc.
|
inlineoverridevirtual |
Event sent at the beginning and end of synchronization.
This event is sent during calls to the methods synchronize(IVariable* var) and synchronize(VariableCollection vars). If you wish to be notified of synchronizations for all instances of IVariableSynchronizer, you must use IVariableMng::synchronizerMng().
Implements Arcane::IVariableSynchronizer.
Definition at line 108 of file NullVariableSynchronizer.cc.
|
inlineoverridevirtual |
Associated parallel manager.
Implements Arcane::IVariableSynchronizer.
Definition at line 50 of file NullVariableSynchronizer.cc.
|
inlineoverridevirtual |
List of local IDs of entities shared with a subdomain.
The rank of the subdomain is that of communicatingRanks()[index].
Implements Arcane::IVariableSynchronizer.
Definition at line 92 of file NullVariableSynchronizer.cc.
|
inlineoverridevirtual |
Synchronizes the variable var in blocking mode.
Implements Arcane::IVariableSynchronizer.
Definition at line 61 of file NullVariableSynchronizer.cc.
Referenced by synchronize(), and synchronize().
|
inlineoverridevirtual |
Synchronizes the variable var on the entities local_ids in blocking mode.
Only the entities listed in local_ids will be synchronized. Note: an entity present in this list on one subdomain must be present in this list for any other subdomain that owns this entity.
Reimplemented from Arcane::IVariableSynchronizer.
Definition at line 69 of file NullVariableSynchronizer.cc.
References synchronize().
|
inlineoverridevirtual |
Synchronizes the variables vars in blocking mode.
All variables must belong to the same family and this entity group.
Implements Arcane::IVariableSynchronizer.
Definition at line 74 of file NullVariableSynchronizer.cc.
|
inlineoverridevirtual |
Synchronizes the variables vars in blocking mode.
All variables must belong to the same family and this entity group.
Only the entities listed in local_ids will be synchronized. Note: an entity present in this list on one subdomain must be present in this list for any other subdomain that owns this entity.
Reimplemented from Arcane::IVariableSynchronizer.
Definition at line 82 of file NullVariableSynchronizer.cc.
References synchronize().
|
inlineoverridevirtual |
Synchronizes the data data.
The data data must be associated with a variable for which it is valid to call synchronize(). This method is internal to Arcane.
Implements Arcane::IVariableSynchronizer.
Definition at line 103 of file NullVariableSynchronizer.cc.
|
private |
Definition at line 116 of file NullVariableSynchronizer.cc.
|
private |
Definition at line 117 of file NullVariableSynchronizer.cc.
|
private |
Definition at line 115 of file NullVariableSynchronizer.cc.