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< Int32 > | machineRanks () 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. | |
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.
|
explicit |
Constructeur.
| var | Variable ayant la propriété "IVariable::PInShMem". |
Définition à la ligne 238 du fichier MachineShMemWinVariable.cc.
Références Arcane::makeRef(), et updateVariable().
| 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.
| 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.
Définition à la ligne 257 du fichier MachineShMemWinVariable.cc.
| 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.
Appel non collectif.
| rank | Le rang du sous-domaine de la variable ciblée. |
| notlocal_id | Le local_id du sous-domaine rank. |
Définition à la ligne 288 du fichier MachineShMemWinVariable.cc.
Références Arcane::asSpan(), et Arcane::SpanImpl< T, SizeType, Extent >::data().
| 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().
| 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.
Appel non collectif.
| rank | Le rang du sous-domaine. |
Définition à la ligne 277 du fichier MachineShMemWinVariable.cc.
Références Arcane::asSpan(), et Arcane::SpanImpl< T, SizeType, Extent >::data().