15#include "arcane/core/DynamicMachineMemoryWindowBase.h"
17#include "arcane/core/IParallelMng.h"
18#include "arcane/core/internal/IParallelMngInternal.h"
20#include "arcane/utils/NumericTypes.h"
21#include "arcane/utils/FatalErrorException.h"
23#include "arccore/message_passing/internal/IDynamicMachineMemoryWindowBaseInternal.h"
34DynamicMachineMemoryWindowBase::
36: m_pm_internal(pm->_internalApi())
37, m_node_window_base(m_pm_internal->createDynamicMachineMemoryWindowBase(nb_elem_segment * static_cast<
Int64>(sizeof_elem), sizeof_elem))
38, m_sizeof_elem(sizeof_elem)
44Span<std::byte> DynamicMachineMemoryWindowBase::
47 return m_node_window_base->segmentView();
53Span<std::byte> DynamicMachineMemoryWindowBase::
54segmentView(Int32 rank)
56 return m_node_window_base->segmentView(rank);
62Span<const std::byte> DynamicMachineMemoryWindowBase::
63segmentConstView()
const
65 return m_node_window_base->segmentConstView();
71Span<const std::byte> DynamicMachineMemoryWindowBase::
72segmentConstView(Int32 rank)
const
74 return m_node_window_base->segmentConstView(rank);
80void DynamicMachineMemoryWindowBase::
81add(Span<const std::byte> elem)
83 return m_node_window_base->add(elem);
89void DynamicMachineMemoryWindowBase::
92 return m_node_window_base->add();
98void DynamicMachineMemoryWindowBase::
99addToAnotherSegment(Int32 rank, Span<const std::byte> elem)
101 m_node_window_base->addToAnotherSegment(rank, elem);
107void DynamicMachineMemoryWindowBase::
110 m_node_window_base->addToAnotherSegment();
116ConstArrayView<Int32> DynamicMachineMemoryWindowBase::
119 return m_node_window_base->machineRanks();
125void DynamicMachineMemoryWindowBase::
128 m_node_window_base->barrier();
134void DynamicMachineMemoryWindowBase::
135reserve(Int64 new_nb_elem_segment_capacity)
137 m_node_window_base->reserve(new_nb_elem_segment_capacity *
static_cast<Int64
>(m_sizeof_elem));
143void DynamicMachineMemoryWindowBase::
146 m_node_window_base->reserve();
152void DynamicMachineMemoryWindowBase::
153resize(Int64 new_nb_elem_segment)
155 m_node_window_base->resize(new_nb_elem_segment *
static_cast<Int64
>(m_sizeof_elem));
161void DynamicMachineMemoryWindowBase::
164 m_node_window_base->resize();
170void DynamicMachineMemoryWindowBase::
173 m_node_window_base->shrink();
Interface du gestionnaire de parallélisme pour un sous-domaine.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
std::int64_t Int64
Type entier signé sur 64 bits.
std::int32_t Int32
Type entier signé sur 32 bits.