16#ifndef ARCANE_PARALLEL_MPITHREAD_INTERNAL_HYBRIDMACHINESHMEMWINBASEINTERNAL_H
17#define ARCANE_PARALLEL_MPITHREAD_INTERNAL_HYBRIDMACHINESHMEMWINBASEINTERNAL_H
22#include "arcane/utils/Ref.h"
24#include "arccore/message_passing/internal/IMachineShMemWinBaseInternal.h"
39class HybridMachineShMemWinBaseInternal
46 ~HybridMachineShMemWinBaseInternal()
override =
default;
76 Int32 m_my_rank_local_proc = 0;
77 Int32 m_nb_rank_local_proc = 0;
78 Int32 m_my_rank_mpi = 0;
82 Int32 m_sizeof_type = 0;
Constant view of an array of type T.
Interface of a barrier between threads.
void shrink() override
Method to reduce the reserved memory space for the segments to the minimum necessary.
Span< std::byte > segmentView() override
Method to get a view of our segment.
ConstArrayView< Int32 > machineRanks() const override
Method to get the ranks that possess a segment in the window.
void barrier() const override
Method to wait until all processes/threads of the node call this method to continue execution.
Int32 sizeofOneElem() const override
Method to get the size of an element in the window.
void addToAnotherSegment() override
Span< const std::byte > segmentConstView() const override
Method to get a view of our segment.
Class allowing the creation of memory windows for a computing node.
Class based on MpiMachineShMemWinBaseInternal but capable of managing multiple segments per process.
Reference to an instance.
View of an array of elements of type T.
Declarations of types and methods used by message exchange mechanisms.
std::int64_t Int64
Signed integer type of 64 bits.
std::int32_t Int32
Signed integer type of 32 bits.