/home/runner/work/HiCR/HiCR/include/hicr/backends/pthreads/communicationManager.hpp Source File
|
HiCR
|
communicationManager.hpp
Go to the documentation of this file.
62 __INLINE__ std::shared_ptr<HiCR::GlobalMemorySlot> getGlobalMemorySlotImpl(const HiCR::backend::hwloc::GlobalMemorySlot::tag_t tag,
76 __INLINE__ std::shared_ptr<HiCR::GlobalMemorySlot> promoteLocalMemorySlot(const std::shared_ptr<HiCR::LocalMemorySlot> &memorySlot, HiCR::GlobalMemorySlot::tag_t tag) override
90 __INLINE__ void destroyPromotedGlobalMemorySlot(const std::shared_ptr<HiCR::GlobalMemorySlot> &memorySlot) override
97 __INLINE__ void exchangeGlobalMemorySlotsImpl(const HiCR::GlobalMemorySlot::tag_t tag, const std::vector<globalKeyMemorySlotPair_t> &memorySlots) override
109 auto globalMemorySlot = std::make_shared<HiCR::backend::hwloc::GlobalMemorySlot>(tag, globalKey, memorySlot);
116 __INLINE__ void queryMemorySlotUpdatesImpl(std::shared_ptr<HiCR::LocalMemorySlot> memorySlot) override
133 for (const auto &[key, slot] : _core.getKeyMemorySlots(tag)) { registerGlobalMemorySlot(slot); }
164 __INLINE__ void destroyGlobalMemorySlotImpl(std::shared_ptr<HiCR::GlobalMemorySlot> memorySlot) override
176 if (destination->getSourceLocalMemorySlot() == nullptr) HICR_THROW_LOGIC("The passed destination memory slot is not local (required by this backend)\n");
193 if (source->getSourceLocalMemorySlot() == nullptr) HICR_THROW_LOGIC("The passed source memory slot is not local (required by this backend)\n");
203 __INLINE__ bool acquireGlobalLockImpl(std::shared_ptr<HiCR::GlobalMemorySlot> memorySlot) override
209 if (m == nullptr) HICR_THROW_LOGIC("The passed memory slot is not supported by this backend\n");
215 __INLINE__ void releaseGlobalLockImpl(std::shared_ptr<HiCR::GlobalMemorySlot> memorySlot) override
221 if (m == nullptr) HICR_THROW_LOGIC("The passed memory slot is not supported by this backend\n");
Provides a definition for the global memory slot class for the HWLoc backend.
Definition communicationManager.hpp:54
__INLINE__ void memcpy(const std::shared_ptr< LocalMemorySlot > &destination, size_t dst_offset, const std::shared_ptr< LocalMemorySlot > &source, size_t src_offset, size_t size)
Definition communicationManager.hpp:248
__INLINE__ void registerGlobalMemorySlot(const std::shared_ptr< GlobalMemorySlot > &memorySlot)
Definition communicationManager.hpp:495
__INLINE__ void increaseMessageRecvCounter(HiCR::LocalMemorySlot &memorySlot) noexcept
Definition communicationManager.hpp:636
__INLINE__ void increaseMessageSentCounter(HiCR::LocalMemorySlot &memorySlot) noexcept
Definition communicationManager.hpp:643
Definition communicationManager.hpp:44
__INLINE__ std::shared_ptr< HiCR::GlobalMemorySlot > promoteLocalMemorySlot(const std::shared_ptr< HiCR::LocalMemorySlot > &memorySlot, HiCR::GlobalMemorySlot::tag_t tag) override
Definition communicationManager.hpp:76
__INLINE__ std::shared_ptr< HiCR::GlobalMemorySlot > getGlobalMemorySlotImpl(const HiCR::backend::hwloc::GlobalMemorySlot::tag_t tag, const HiCR::backend::hwloc::GlobalMemorySlot::globalKey_t globalKey) override
Definition communicationManager.hpp:62
__INLINE__ void destroyPromotedGlobalMemorySlot(const std::shared_ptr< HiCR::GlobalMemorySlot > &memorySlot) override
Definition communicationManager.hpp:90
CommunicationManager(Core &core)
Definition communicationManager.hpp:52
~CommunicationManager()=default
Definition core.hpp:42
__INLINE__ std::shared_ptr< GlobalMemorySlot > getGlobalSlot(const GlobalMemorySlot::tag_t tag, const GlobalMemorySlot::globalKey_t key) const
Definition core.hpp:103
__INLINE__ void insertGlobalSlot(const GlobalMemorySlot::tag_t tag, const GlobalMemorySlot::globalKey_t key, const std::shared_ptr< GlobalMemorySlot > &slot)
Definition core.hpp:81
__INLINE__ void removeGlobalSlot(const GlobalMemorySlot::tag_t tag, const GlobalMemorySlot::globalKey_t key)
Definition core.hpp:131
Provides a definition for the base backend's communication manager class.
Provides a definition for a HiCR Local Memory Slot class.
This file implements the core mechanism to exchange slots and detect instances for the pthreads backe...
Generated by