Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::NullVariableSynchronizer

Synchronisation des variables en séquentiel. Plus de détails...

+ Graphe d'héritage de Arcane::NullVariableSynchronizer:
+ Graphe de collaboration de Arcane::NullVariableSynchronizer:

Fonctions membres publiques

 NullVariableSynchronizer (IParallelMng *pm, const ItemGroup &group)
 
IParallelMngparallelMng () override
 Gestionnaire parallèle associé
 
const ItemGroupitemGroup () 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

IParallelMngm_parallel_mng
 
ItemGroup m_item_group
 
EventObservable< const VariableSynchronizerEventArgs & > m_on_synchronized
 

Description détaillée

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.

Documentation des constructeurs et destructeur

◆ NullVariableSynchronizer()

Arcane::NullVariableSynchronizer::NullVariableSynchronizer ( IParallelMng pm,
const ItemGroup group 
)
inline

Définition à la ligne 41 du fichier NullVariableSynchronizer.cc.

Documentation des fonctions membres

◆ changeLocalIds()

void Arcane::NullVariableSynchronizer::changeLocalIds ( Int32ConstArrayView  old_to_new_ids)
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.

◆ communicatingRanks()

Int32ConstArrayView Arcane::NullVariableSynchronizer::communicatingRanks ( )
inlineoverridevirtual

Rangs des sous-domaines avec lesquels on communique.

Implémente Arcane::IVariableSynchronizer.

Définition à la ligne 86 du fichier NullVariableSynchronizer.cc.

◆ compute()

void Arcane::NullVariableSynchronizer::compute ( )
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.

◆ ghostItems()

Int32ConstArrayView Arcane::NullVariableSynchronizer::ghostItems ( Int32  index)
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.

◆ itemGroup()

const ItemGroup & Arcane::NullVariableSynchronizer::itemGroup ( )
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.

◆ onSynchronized()

EventObservable< const VariableSynchronizerEventArgs & > & Arcane::NullVariableSynchronizer::onSynchronized ( )
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.

◆ parallelMng()

IParallelMng * Arcane::NullVariableSynchronizer::parallelMng ( )
inlineoverridevirtual

Gestionnaire parallèle associé

Implémente Arcane::IVariableSynchronizer.

Définition à la ligne 49 du fichier NullVariableSynchronizer.cc.

◆ sharedItems()

Int32ConstArrayView Arcane::NullVariableSynchronizer::sharedItems ( Int32  index)
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.

◆ synchronize() [1/4]

void Arcane::NullVariableSynchronizer::synchronize ( IVariable var)
inlineoverridevirtual

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().

◆ synchronize() [2/4]

void Arcane::NullVariableSynchronizer::synchronize ( IVariable var,
Int32ConstArrayView  local_ids 
)
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().

◆ synchronize() [3/4]

void Arcane::NullVariableSynchronizer::synchronize ( VariableCollection  vars)
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.

◆ synchronize() [4/4]

void Arcane::NullVariableSynchronizer::synchronize ( VariableCollection  vars,
Int32ConstArrayView  local_ids 
)
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().

◆ synchronizeData()

void Arcane::NullVariableSynchronizer::synchronizeData ( IData data)
inlineoverridevirtual

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.

Documentation des données membres

◆ m_item_group

ItemGroup Arcane::NullVariableSynchronizer::m_item_group
private

Définition à la ligne 115 du fichier NullVariableSynchronizer.cc.

◆ m_on_synchronized

EventObservable<const VariableSynchronizerEventArgs&> Arcane::NullVariableSynchronizer::m_on_synchronized
private

Définition à la ligne 116 du fichier NullVariableSynchronizer.cc.

◆ m_parallel_mng

IParallelMng* Arcane::NullVariableSynchronizer::m_parallel_mng
private

Définition à la ligne 114 du fichier NullVariableSynchronizer.cc.


La documentation de cette classe a été générée à partir du fichier suivant :