Arcane  v4.1.7.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
 
ConstArrayView< Int64m_nb_elem_dim1
 
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 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().

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

+ 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 399 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 358 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 526 du fichier MachineShMemWinVariable.h.

◆ m_nb_elem_dim1

template<class ItemType, class DataType, class Extents>
ConstArrayView<Int64> Arcane::MachineShMemWinMDVariableT< ItemType, DataType, Extents >::m_nb_elem_dim1
private

Définition à la ligne 528 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 529 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 530 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 527 du fichier MachineShMemWinVariable.h.


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