13#ifndef ARCANE_CORE_MACHINESHMEMWINVARIABLE_H
14#define ARCANE_CORE_MACHINESHMEMWINVARIABLE_H
18#include "arccore/base/FixedArray.h"
22#include "arcane/utils/Ref.h"
23#include "arcane/utils/NumArray.h"
25#include "arcane/core/MeshMDVariableRef.h"
26#include "arcane/core/MeshMatrixMDVariableRef.h"
27#include "arcane/core/MeshVectorMDVariableRef.h"
112template <
class DataType>
172template <
class ItemType,
class DataType>
256template <
class DataType>
285 ARCANE_CORE_EXPORT
void barrier()
const;
332template <
class ItemType,
class DataType>
362 ARCANE_CORE_EXPORT
void barrier()
const;
416 Int32 m_nb_elem_dim2{};
438template <
class ItemType,
class DataType,
class Extents>
470 ARCANE_CORE_EXPORT
void barrier()
const;
523 Int32 m_nb_elem_dim2{};
524 std::array<
Int32, Extents::rank()> m_shape_dim2{};
546template <
class ItemType,
class DataType,
class Extents>
583template <
class ItemType,
class DataType,
class Extents>
587 using AddedFirstExtentsType = Extents::template AddedFirstExtentsType<DynExtent>;
595 template <Int32 Size>
622template <
class ItemType,
class DataType,
class Extents>
624:
public MachineShMemWinMDVariableT<ItemType, DataType, typename Extents::template AddedFirstLastExtentsType<DynExtent, DynExtent>>
626 using AddedFirstLastExtentsType = Extents::template AddedFirstLastExtentsType<DynExtent, DynExtent>;
634 template <Int32 Row, Int32 Column>
Déclarations des types généraux de Arcane.
Vue constante d'un tableau de type T.
Interface d'une variable.
Classe de base des vues multi-dimensionnelles.
MachineShMemWinMDVariableT(MeshVariableArrayRefT< ItemType, DataType > var)
Constructeur.
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.
ConstArrayView< Int32 > machineRanks() const
Méthode permettant d'obtenir les rangs qui possèdent un segment dans la fenêtre.
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.
void updateVariable()
Méthode permettant de mettre à jour cet objet après un changement dans le maillage et/ou après un red...
void barrier() const
Méthode permettant d'attendre que tous les processus/threads du noeud appellent cette méthode pour co...
Classe permettant d'accéder aux éléments partagés de la variable en mémoire partagée.
MachineShMemWinMeshMDVariableT(MeshMDVariableRefT< ItemType, DataType, Extents > var)
Constructeur.
Classe permettant d'accéder aux éléments partagés de la variable en mémoire partagée.
MachineShMemWinMeshMatrixMDVariableT(MeshMatrixMDVariableRefT< ItemType, DataType, Row, Column, Extents > var)
Constructeur.
void updateVariable()
Méthode permettant de mettre à jour cet objet après un changement dans le maillage et/ou après un red...
Span2< DataType > view(Int32 rank) const
Méthode permettant d'obtenir une vue sur la variable d'un autre sous-domaine du noeud.
void barrier() const
Méthode permettant d'attendre que tous les processus/threads du noeud appellent cette méthode pour co...
Span< DataType > operator()(Int32 rank, Int32 notlocal_id)
Méthode permettant d'obtenir le tableau d'un item d'un autre sous-domaine.
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 updateVariable()
Méthode permettant de mettre à jour cet objet après un changement dans le maillage.
DataType operator()(Int32 rank, Int32 notlocal_id)
Méthode permettant d'obtenir un élément de la variable d'un autre sous-domaine.
Span< DataType > view(Int32 rank) const
Méthode permettant d'obtenir une vue sur la variable d'un autre sous-domaine du noeud.
MachineShMemWinMeshVariableScalarT(MeshVariableScalarRefT< ItemType, DataType > var)
Constructeur.
Classe permettant d'accéder aux éléments partagés de la variable en mémoire partagée.
MachineShMemWinMeshVectorMDVariableT(MeshVectorMDVariableRefT< ItemType, DataType, Size, Extents > var)
Constructeur.
Classe permettant d'accéder à la partie en mémoire partagée entre sous-domaines d'un même noeud d'une...
ConstArrayView< Int32 > machineRanks() const
Méthode permettant d'obtenir les rangs qui possèdent un segment dans la fenêtre.
Span2< DataType > view(Int32 rank) const
Méthode permettant d'obtenir une vue sur le tableau d'un autre sous-domaine du noeud.
MachineShMemWinVariableArray2T(VariableRefArray2T< DataType > var)
Constructeur.
void barrier() const
Méthode permettant d'attendre que tous les processus/threads du noeud appellent cette méthode pour co...
void updateVariable()
Méthode permettant de mettre à jour cet objet après un redimensionnement de la variable.
MachineShMemWinVariableArrayT(VariableRefArrayT< DataType > var)
Constructeur.
Span< DataType > view(Int32 rank) const
Méthode permettant d'obtenir une vue sur le tableau d'un autre sous-domaine du noeud.
void updateVariable()
Méthode permettant de mettre à jour cet objet après un redimensionnement de la variable.
Classe permettant d'accéder à la partie en mémoire partagée entre sous-domaines d'un même noeud d'une...
void barrier() const
Méthode permettant d'attendre que tous les processus/threads du noeud appellent cette méthode pour co...
ConstArrayView< Int32 > machineRanks() const
Méthode permettant d'obtenir les rangs qui possèdent un segment dans la fenêtre.
MachineShMemWinVariableCommon(IVariable *var)
Constructeur.
Classe permettant d'accéder à la partie en mémoire partagée entre sous-domaines d'un même noeud d'une...
Classe gérant une variable multi-dimension sur une entité du maillage.
Classe gérant une variable de type NumMatrix multidimensionnelle sur une entité de maillage.
Variable tableau sur un type d'entité du maillage.
Variable scalaire sur un type d'entité du maillage.
Classe gérant une variable de type NumVector multidimensionnelle sur une entité de maillage.
Référence à une instance.
Vue pour un tableau 2D dont la taille est un 'Int64'.
Vue d'un tableau d'éléments de type T.
Variable tableau bi dimensionnel.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
std::int32_t Int32
Type entier signé sur 32 bits.