Arcane  v4.1.7.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arcane::MachineShMemWinMeshVariableArrayT< ItemType, DataType >

Classe permettant d'accéder aux éléments partagés de la variable en mémoire partagée. Plus de détails...

#include <arcane/core/MachineShMemWinVariable.h>

Fonctions membres publiques

 MachineShMemWinMeshVariableArrayT (MeshVariableArrayRefT< ItemType, DataType > var)
 Constructeur.
 
ConstArrayView< Int32machineRanks () const
 Méthode permettant d'obtenir les rangs qui possèdent un segment dans la fenêtre.
 
void barrier () const
 Méthode permettant d'attendre que tous les processus/threads du noeud appellent cette méthode pour continuer l'exécution.
 
Span2< DataType > view (Int32 rank) const
 Méthode permettant d'obtenir une vue sur la variable d'un autre sous-domaine du noeud.
 
Span< DataType > operator() (Int32 rank, Int32 notlocal_id)
 Méthode permettant d'obtenir le tableau d'un item d'un autre sous-domaine.
 
void updateVariable ()
 Méthode permettant de mettre à jour cet objet après un changement dans le maillage et/ou après un redimensionnement de la variable.
 

Description détaillée

template<class ItemType, class DataType>
class Arcane::MachineShMemWinMeshVariableArrayT< ItemType, DataType >

Classe permettant d'accéder aux éléments partagés de la variable en mémoire partagée.

Il est nécessaire que cette variable soit allouée en mémoire partagée avec la propriété "IVariable::PInShMem".

Cette classe fonctionne pour les variables tableaux au maillage.

Si le maillage et/ou la taille de la variable change lorsqu'un objet de ce type est utilisé, il est nécessaire d'appeler la méthode updateVariable().

Définition à la ligne 334 du fichier MachineShMemWinVariable.h.

Documentation des constructeurs et destructeur

◆ MachineShMemWinMeshVariableArrayT()

template<class ItemType, class DataType>
Arcane::MachineShMemWinMeshVariableArrayT< ItemType, DataType >::MachineShMemWinMeshVariableArrayT ( MeshVariableArrayRefT< ItemType, DataType > var)
explicit

Constructeur.

Paramètres
varVariable ayant la propriété "IVariable::PInShMem".

Définition à la ligne 238 du fichier MachineShMemWinVariable.cc.

Références Arcane::makeRef(), et updateVariable().

Documentation des fonctions membres

◆ barrier()

template<class ItemType, class DataType>
void Arcane::MachineShMemWinMeshVariableArrayT< ItemType, DataType >::barrier ( ) const

Méthode permettant d'attendre que tous les processus/threads du noeud appellent cette méthode pour continuer l'exécution.

Définition à la ligne 267 du fichier MachineShMemWinVariable.cc.

◆ machineRanks()

template<class ItemType, class DataType>
ConstArrayView< Int32 > Arcane::MachineShMemWinMeshVariableArrayT< ItemType, DataType >::machineRanks ( ) const

Méthode permettant d'obtenir les rangs qui possèdent un segment dans la fenêtre.

Appel non collectif.

Renvoie
Une vue contenant les ids des rangs.

Définition à la ligne 257 du fichier MachineShMemWinVariable.cc.

◆ operator()()

template<class ItemType, class DataType>
Span< DataType > Arcane::MachineShMemWinMeshVariableArrayT< ItemType, DataType >::operator() ( Int32 rank,
Int32 notlocal_id )

Méthode permettant d'obtenir le tableau d'un item d'un autre sous-domaine.

Avertissement
Attention : le local_id correspond au local_id du sous-domaine rank ! Ne surtout pas utiliser un local_id de notre sous-domaine pour accéder aux éléments de la vue !
Note
Si plusieurs itérations sont nécessaires pour un même rang, il est préférable de récupérer une vue via segmentView(Int32 rank).

Appel non collectif.

Paramètres
rankLe rang du sous-domaine de la variable ciblée.
notlocal_idLe local_id du sous-domaine rank.
Renvoie
Le tableau de l'item.

Définition à la ligne 288 du fichier MachineShMemWinVariable.cc.

Références Arcane::asSpan(), et Arcane::SpanImpl< T, SizeType, Extent >::data().

◆ updateVariable()

template<class ItemType, class DataType>
void Arcane::MachineShMemWinMeshVariableArrayT< ItemType, DataType >::updateVariable ( )

Méthode permettant de mettre à jour cet objet après un changement dans le maillage et/ou après un redimensionnement de la variable.

Appel collectif.

Définition à la ligne 301 du fichier MachineShMemWinVariable.cc.

Référencé par MachineShMemWinMeshVariableArrayT().

◆ view()

template<class ItemType, class DataType>
Span2< DataType > Arcane::MachineShMemWinMeshVariableArrayT< ItemType, DataType >::view ( Int32 rank) const

Méthode permettant d'obtenir une vue sur la variable d'un autre sous-domaine du noeud.

Équivalent à "var.asArray()" mais d'un autre sous-domaine. Le premier indice correspond au local_id, le second indice est la position de l'élément dans le tableau de l'item.

Avertissement
Attention : pour accéder aux éléments de la vue, il est nécessaire d'utiliser les local_ids de l'autre sous-domaine ! Ne pas utiliser les local_ids de notre sous-domaine !

Appel non collectif.

Paramètres
rankLe rang du sous-domaine.
Renvoie
Une vue 2D.

Définition à la ligne 277 du fichier MachineShMemWinVariable.cc.

Références Arcane::asSpan(), et Arcane::SpanImpl< T, SizeType, Extent >::data().


La documentation de cette classe a été générée à partir des fichiers suivants :