14#ifndef ARCANE_CORE_MACHINESHMEMWINBASE_H
15#define ARCANE_CORE_MACHINESHMEMWINBASE_H
20#include "arcane/utils/Ref.h"
Declarations of Arcane's general types.
Types and functions associated with the classes SpanImpl, SmallSpan and Span.
Constant view of an array of type T.
Internal part of IParallelMng.
Interface of the parallelism manager for a subdomain.
void reserve(Int64 new_nb_elem_segment_capacity)
Method to reserve memory space in our segment.
void barrier() const
Method to wait until all processes/threads on the node call this method to continue execution.
MachineShMemWinBase(IParallelMng *pm, Int64 sizeof_segment, Int32 sizeof_elem)
Constructor.
Span< const std::byte > segmentConstView() const
Method to obtain a view of our segment.
void resize(Int64 new_nb_elem_segment)
Method to resize our segment.
void shrink()
Method to reduce the reserved memory space for the segments to the minimum necessary.
void addToAnotherSegment(Int32 rank, Span< const std::byte > elem)
Method to add elements into the segment of another subdomain.
ConstArrayView< Int32 > machineRanks() const
Method to obtain the ranks that possess a segment in the window.
void add(Span< const std::byte > elem)
Method to add elements into our segment.
Span< std::byte > segmentView()
Method to obtain a view of our segment.
Class allowing the creation of memory windows for a computing node.
Reference to an instance.
View of an array of elements of type T.
Declarations of types and methods used by message exchange mechanisms.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
std::int64_t Int64
Signed integer type of 64 bits.
std::int32_t Int32
Signed integer type of 32 bits.