Arcane  v4.1.4.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
DynamicMachineMemoryWindowVariable.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* DynamicMachineMemoryWindowVariable.h (C) 2000-2026 */
9/* */
10/* Classe permettant d'accéder à la partie en mémoire partagée d'une */
11/* variable. */
12/*---------------------------------------------------------------------------*/
13
14#ifndef ARCANE_CORE_DYNAMICMACHINEMEMORYWINDOWVARIABLE_H
15#define ARCANE_CORE_DYNAMICMACHINEMEMORYWINDOWVARIABLE_H
16
17/*---------------------------------------------------------------------------*/
18/*---------------------------------------------------------------------------*/
19
21
22#include "arcane/core/DynamicMachineMemoryWindowVariableBase.h"
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27namespace Arcane
28{
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
32
42template <class DataType>
44{
45
46 public:
47
52 template <class ItemType>
56
61 template <class ItemType>
65
66 public:
67
77 {
78 return m_base.machineRanks();
79 }
80
85 void barrier() const
86 {
87 m_base.barrier();
88 }
89
100 {
101 return asSpan<DataType>(m_base.segmentView());
102 }
103
114 {
115 return asSpan<DataType>(m_base.segmentView(rank));
116 }
117
118 private:
119
121};
122
123/*---------------------------------------------------------------------------*/
124/*---------------------------------------------------------------------------*/
125
126} // End namespace Arcane
127
128/*---------------------------------------------------------------------------*/
129/*---------------------------------------------------------------------------*/
130
131#endif
Déclarations des types généraux de Arcane.
Vue constante d'un tableau de type T.
Classe permettant d'accéder à la partie en mémoire partagée entre sous-domaines d'un même noeud d'une...
Span< DataType > segmentView(Int32 rank) const
Méthode permettant d'obtenir une vue sur le segment d'un autre sous-domaine du noeud.
ConstArrayView< Int32 > machineRanks() const
Méthode permettant d'obtenir les rangs qui possèdent un segment dans la fenêtre.
DynamicMachineMemoryWindowVariable(MeshVariableScalarRefT< ItemType, DataType > var)
Constructeur.
void barrier() const
Méthode permettant d'attendre que tous les processus/threads du noeud appellent cette méthode pour co...
DynamicMachineMemoryWindowVariable(MeshVariableArrayRefT< ItemType, DataType > var)
Constructeur.
Span< DataType > segmentView() const
Méthode permettant d'obtenir une vue sur notre segment.
Variable tableau sur un type d'entité du maillage.
Variable scalaire sur un type d'entité du maillage.
Vue d'un tableau d'éléments de type T.
Definition Span.h:633
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Span< DataType > asSpan(Span< std::byte, Extent > bytes)
Converti un Span<std::byte> en un Span<DataType>.
Definition Span.h:1114
std::int32_t Int32
Type entier signé sur 32 bits.