Arcane  4.1.11.0
Documentation développeur
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>

Graphe d'héritage de Arcane::MachineShMemWinMDVariableT< ItemType, DataType, Extents >:
Graphe de collaboration de Arcane::MachineShMemWinMDVariableT< ItemType, DataType, Extents >:

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.

Attributs privés

Ref< MachineShMemWinVariableMDBasem_base
MeshVariableArrayRefT< ItemType, DataType > m_vart
Int32 m_nb_elem_dim2 {}
std::array< Int32, Extents::rank()> m_shape_dim2 {}

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 438 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 314 du fichier MachineShMemWinVariable.cc.

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

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

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

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 343 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 333 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 380 du fichier MachineShMemWinVariable.cc.

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

Voici le graphe d'appel pour cette fonction :

◆ 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 394 du fichier MachineShMemWinVariable.cc.

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

Référencé par MachineShMemWinMDVariableT().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ 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 353 du fichier MachineShMemWinVariable.cc.

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

Voici le graphe d'appel pour cette fonction :

Documentation des données membres

◆ m_base

template<class ItemType, class DataType, class Extents>
Ref<MachineShMemWinVariableMDBase> Arcane::MachineShMemWinMDVariableT< ItemType, DataType, Extents >::m_base
private

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

◆ m_nb_elem_dim2

template<class ItemType, class DataType, class Extents>
Int32 Arcane::MachineShMemWinMDVariableT< ItemType, DataType, Extents >::m_nb_elem_dim2 {}
private

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

◆ m_shape_dim2

template<class ItemType, class DataType, class Extents>
std::array<Int32, Extents::rank()> Arcane::MachineShMemWinMDVariableT< ItemType, DataType, Extents >::m_shape_dim2 {}
private

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

◆ m_vart

template<class ItemType, class DataType, class Extents>
MeshVariableArrayRefT<ItemType, DataType> Arcane::MachineShMemWinMDVariableT< ItemType, DataType, Extents >::m_vart
private

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


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