/home/runner/work/HiCR/HiCR/include/hicr/frontends/channel/variableSize/base.hpp Source File
|
HiCR
|
base.hpp
Go to the documentation of this file.
65 : channel::Base(coordinationCommunicationManager, payloadCommunicationManager, coordinationBufferForCounts, sizeof(size_t), capacity),
72 auto requiredCoordinationBufferSize = 4 * sizeof(_HICR_CHANNEL_COORDINATION_BUFFER_ELEMENT_TYPE);
73 auto providedCoordinationBufferSize = coordinationBufferForPayloads->getSize() + coordinationBufferForCounts->getSize();
75 HICR_THROW_LOGIC("Attempting to create a channel with a local coordination buffer size (%lu) smaller than the required size (%lu).\n",
82 &static_cast<_HICR_CHANNEL_COORDINATION_BUFFER_ELEMENT_TYPE *>(coordinationBufferForCounts->getPointer())[_HICR_CHANNEL_HEAD_ADVANCE_COUNT_IDX],
83 &static_cast<_HICR_CHANNEL_COORDINATION_BUFFER_ELEMENT_TYPE *>(coordinationBufferForCounts->getPointer())[_HICR_CHANNEL_TAIL_ADVANCE_COUNT_IDX]);
87 &static_cast<_HICR_CHANNEL_COORDINATION_BUFFER_ELEMENT_TYPE *>(coordinationBufferForPayloads->getPointer())[_HICR_CHANNEL_HEAD_ADVANCE_COUNT_IDX],
95 [[nodiscard]] __INLINE__ auto getCircularBufferForCounts() const { return _circularBufferForCounts.get(); }
101 [[nodiscard]] __INLINE__ auto getCircularBufferForPayloads() const { return _circularBufferForPayloads.get(); }
107 [[nodiscard]] __INLINE__ auto getCoordinationBufferForCounts() const { return _coordinationBufferForCounts; }
113 [[nodiscard]] __INLINE__ auto getCoordinationBufferForPayloads() const { return _coordinationBufferForPayloads; }
Definition communicationManager.hpp:54
Definition base.hpp:70
Definition base.hpp:41
__INLINE__ auto getCircularBufferForPayloads() const
Definition base.hpp:101
Base(CommunicationManager &coordinationCommunicationManager, CommunicationManager &payloadCommunicationManager, const std::shared_ptr< LocalMemorySlot > &coordinationBufferForCounts, const std::shared_ptr< LocalMemorySlot > &coordinationBufferForPayloads, const size_t capacity, const size_t payloadCapacity)
Definition base.hpp:59
__INLINE__ auto getCoordinationBufferForPayloads() const
Definition base.hpp:113
__INLINE__ auto getCoordinationBufferForCounts() const
Definition base.hpp:107
__INLINE__ auto getCircularBufferForCounts() const
Definition base.hpp:95
Provides a definition for the base backend's communication manager class.
Provides a definition for a HiCR Global Memory Slot class.
Provides a failure model and corresponding exception classes.
Generated by