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

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

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.
 
MDSpan< DataType, typename MDDimType< Extents::rank()+1 >::DimType > view (Int32 rank) const
 Méthode permettant d'obtenir une vue sur la variable d'un autre sous-domaine du noeud.
 
MDSpan< DataType, Extents > operator() (Int32 rank, Int32 notlocal_id)
 Méthode permettant d'obtenir le tableau multi-dimensionnel 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.
 

Fonctions membres protégées

 MachineShMemWinMDVariableT (MeshVariableArrayRefT< ItemType, DataType > var)
 Constructeur.
 

Description détaillée

template<class ItemType, class DataType, class Extents>
class Arcane::MachineShMemWinMDVariableT< ItemType, DataType, Extents >

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

Cette classe ne peut pas être utilisée directement. Il est nécessaire d'utiliser une des classes suivante :

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

Documentation des constructeurs et destructeur

◆ MachineShMemWinMDVariableT()

template<class ItemType, class DataType, class Extents>
Arcane::MachineShMemWinMDVariableT< ItemType, DataType, Extents >::MachineShMemWinMDVariableT ( MeshVariableArrayRefT< ItemType, DataType > var)
explicitprotected

Constructeur.

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

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

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

Référencé par Arcane::MachineShMemWinMeshMDVariableT< ItemType, DataType, Extents >::MachineShMemWinMeshMDVariableT().

Documentation des fonctions membres

◆ barrier()

template<class ItemType, class DataType, class Extents>
void Arcane::MachineShMemWinMDVariableT< ItemType, DataType, Extents >::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 348 du fichier MachineShMemWinVariable.cc.

◆ machineRanks()

template<class ItemType, class DataType, class Extents>
ConstArrayView< Int32 > Arcane::MachineShMemWinMDVariableT< ItemType, DataType, Extents >::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 338 du fichier MachineShMemWinVariable.cc.

◆ operator()()

template<class ItemType, class DataType, class Extents>
MDSpan< DataType, Extents > Arcane::MachineShMemWinMDVariableT< ItemType, DataType, Extents >::operator() ( Int32 rank,
Int32 notlocal_id )

Méthode permettant d'obtenir le tableau multi-dimensionnel 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 view(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 MD de l'item.

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

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

◆ updateVariable()

template<class ItemType, class DataType, class Extents>
void Arcane::MachineShMemWinMDVariableT< ItemType, DataType, Extents >::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 399 du fichier MachineShMemWinVariable.cc.

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

Référencé par MachineShMemWinMDVariableT().

◆ view()

template<class ItemType, class DataType, class Extents>
MDSpan< DataType, typename MDDimType< Extents::rank()+1 >::DimType > Arcane::MachineShMemWinMDVariableT< ItemType, DataType, Extents >::view ( Int32 rank) const

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

Le premier indice correspond au local_id, les autres indices sont 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.

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

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


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