Synchronisation des variables en séquentiel. Plus de détails...
Fonctions membres publiques | |
NullVariableSynchronizer (IParallelMng *pm, const ItemGroup &group) | |
IParallelMng * | parallelMng () override |
Gestionnaire parallèle associé | |
const ItemGroup & | itemGroup () override |
Groupe d'entité servant à la synchronisation. | |
void | compute () override |
Recalcule les infos de synchronisation. | |
void | changeLocalIds (Int32ConstArrayView old_to_new_ids) override |
Appelé lorsque les numéros locaux des entités sont modifiés. | |
void | synchronize (IVariable *var) override |
Synchronise la variable var en mode bloquant. | |
void | synchronize (IVariable *var, Int32ConstArrayView local_ids) override |
Synchronise la variable var sur les entités local_ids en mode bloquant. | |
void | synchronize (VariableCollection vars) override |
Synchronise les variables vars en mode bloquant. | |
void | synchronize (VariableCollection vars, Int32ConstArrayView local_ids) override |
Synchronise les variables vars en mode bloquant. | |
Int32ConstArrayView | communicatingRanks () override |
Rangs des sous-domaines avec lesquels on communique. | |
Int32ConstArrayView | sharedItems (Int32 index) override |
Liste des ids locaux des entités partagées avec un sous-domaine. | |
Int32ConstArrayView | ghostItems (Int32 index) override |
Liste des ids locaux des entités fantômes avec un sous-domaine. | |
void | synchronizeData (IData *data) override |
Synchronise la donnée data. | |
EventObservable< const VariableSynchronizerEventArgs & > & | onSynchronized () override |
Evènement envoyé en début et fin de synchronisation. | |
Attributs privés | |
IParallelMng * | m_parallel_mng |
ItemGroup | m_item_group |
EventObservable< const VariableSynchronizerEventArgs & > | m_on_synchronized |
Synchronisation des variables en séquentiel.
Implémente IVariableSynchronizer en séquentiel.
Cette classe ne fait aucune opération.
Définition à la ligne 36 du fichier NullVariableSynchronizer.cc.
|
inline |
Définition à la ligne 41 du fichier NullVariableSynchronizer.cc.
|
inlineoverridevirtual |
Appelé lorsque les numéros locaux des entités sont modifiés.
Implémente Arcane::IVariableSynchronizer.
Définition à la ligne 56 du fichier NullVariableSynchronizer.cc.
|
inlineoverridevirtual |
Rangs des sous-domaines avec lesquels on communique.
Implémente Arcane::IVariableSynchronizer.
Définition à la ligne 86 du fichier NullVariableSynchronizer.cc.
|
inlineoverridevirtual |
Recalcule les infos de synchronisation.
Cette opération est collective.
Cette fonction doit être rappelée si les entités de itemGroup() changent de propriétaire ou si le groupe lui-même évolue. TODO: appeler cette fonction automatiquement si besoin.
Implémente Arcane::IVariableSynchronizer.
Définition à la ligne 55 du fichier NullVariableSynchronizer.cc.
|
inlineoverridevirtual |
Liste des ids locaux des entités fantômes avec un sous-domaine.
Le rang du sous-domaine est celui de communicatingRanks()[index].
Implémente Arcane::IVariableSynchronizer.
Définition à la ligne 97 du fichier NullVariableSynchronizer.cc.
|
inlineoverridevirtual |
Groupe d'entité servant à la synchronisation.
L'implémentation actuelle supporte uniquement le groupe de toutes les entités d'une famille.
Implémente Arcane::IVariableSynchronizer.
Définition à la ligne 54 du fichier NullVariableSynchronizer.cc.
|
inlineoverridevirtual |
Evènement envoyé en début et fin de synchronisation.
Cet évènement est envoyé lors des appels aux méthodes de synchronisation synchronize(IVariable* var) et synchronize(VariableCollection vars). Si on souhaite être notifié des synchronisations pour toutes les instances de IVariableSynchronizer, il faut utiliser IVariableMng::synchronizerMng().
Implémente Arcane::IVariableSynchronizer.
Définition à la ligne 107 du fichier NullVariableSynchronizer.cc.
|
inlineoverridevirtual |
Gestionnaire parallèle associé
Implémente Arcane::IVariableSynchronizer.
Définition à la ligne 49 du fichier NullVariableSynchronizer.cc.
|
inlineoverridevirtual |
Liste des ids locaux des entités partagées avec un sous-domaine.
Le rang du sous-domaine est celui de communicatingRanks()[index].
Implémente Arcane::IVariableSynchronizer.
Définition à la ligne 91 du fichier NullVariableSynchronizer.cc.
Synchronise la variable var en mode bloquant.
Implémente Arcane::IVariableSynchronizer.
Définition à la ligne 60 du fichier NullVariableSynchronizer.cc.
Référencé par synchronize(), et synchronize().
|
inlineoverridevirtual |
Synchronise la variable var sur les entités local_ids en mode bloquant.
Seules les entités listées dans local_ids seront synchronisées. Attention : une entité présente dans cette liste sur un sous-domaine doit être présente dans cette liste pour tout autre sous-domaine qui possède cette entité.
Réimplémentée à partir de Arcane::IVariableSynchronizer.
Définition à la ligne 68 du fichier NullVariableSynchronizer.cc.
Références synchronize().
|
inlineoverridevirtual |
Synchronise les variables vars en mode bloquant.
Toutes les variables doivent être issues de la même famille et de ce groupe d'entité.
Implémente Arcane::IVariableSynchronizer.
Définition à la ligne 73 du fichier NullVariableSynchronizer.cc.
|
inlineoverridevirtual |
Synchronise les variables vars en mode bloquant.
Toutes les variables doivent être issues de la même famille et de ce groupe d'entité.
Seules les entités listées dans local_ids seront synchronisées. Attention : une entité présente dans cette liste sur un sous-domaine doit être présente dans cette liste pour tout autre sous-domaine qui possède cette entité.
Réimplémentée à partir de Arcane::IVariableSynchronizer.
Définition à la ligne 81 du fichier NullVariableSynchronizer.cc.
Références synchronize().
Synchronise la donnée data.
La donnée data doit être associée à une variable pour laquelle il est valide d'appeler synchronize(). Cette méthode est interne à Arcane.
Implémente Arcane::IVariableSynchronizer.
Définition à la ligne 102 du fichier NullVariableSynchronizer.cc.
|
private |
Définition à la ligne 115 du fichier NullVariableSynchronizer.cc.
|
private |
Définition à la ligne 116 du fichier NullVariableSynchronizer.cc.
|
private |
Définition à la ligne 114 du fichier NullVariableSynchronizer.cc.