/home/runner/work/HiCR/HiCR/include/hicr/backends/nosv/computeManager.hpp Source File
HiCR
|
computeManager.hpp
Go to the documentation of this file.
54 __INLINE__ static std::shared_ptr<HiCR::ExecutionUnit> createExecutionUnit(const std::function<void(void *)> &executionUnit)
66 [[nodiscard]] __INLINE__ std::unique_ptr<HiCR::ProcessingUnit> createProcessingUnit(std::shared_ptr<HiCR::ComputeResource> computeResource) const override
80 __INLINE__ std::unique_ptr<HiCR::ExecutionState> createExecutionState(std::shared_ptr<HiCR::ExecutionUnit> executionUnit, void *const argument = nullptr) const override
172 [[nodiscard]] __INLINE__ nosv::ProcessingUnit *getPUPointer(std::unique_ptr<HiCR::ProcessingUnit> &processingUnit)
178 // If the processing unit is not recognized, throw error. We can use the processing unit's type (string) now.
179 if (p == nullptr) HICR_THROW_LOGIC("This compute manager cannot handle processing units of type '%s'", processingUnit->getType());
This file consists of the common nOS-V function used for all the backend implementations.
nOS-V execution state class. Main job is to store the nosv task and its metadata
nOS-V execution unit class. Main job is to store the function call
nOS-V processing unit class. Main job is to to submit the execution state task.
Definition computeManager.hpp:48
Definition computeManager.hpp:44
__INLINE__ void startImpl(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit, std::unique_ptr< HiCR::ExecutionState > &executionState) override
Definition computeManager.hpp:106
__INLINE__ nosv::ProcessingUnit * getPUPointer(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit)
Definition computeManager.hpp:172
static __INLINE__ std::shared_ptr< HiCR::ExecutionUnit > createExecutionUnit(const std::function< void(void *)> &executionUnit)
Definition computeManager.hpp:54
__INLINE__ void resumeImpl(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit) override
Definition computeManager.hpp:132
__INLINE__ void initializeImpl(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit) override
Definition computeManager.hpp:92
__INLINE__ std::unique_ptr< HiCR::ExecutionState > createExecutionState(std::shared_ptr< HiCR::ExecutionUnit > executionUnit, void *const argument=nullptr) const override
Definition computeManager.hpp:80
__INLINE__ void awaitImpl(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit) override
Definition computeManager.hpp:158
__INLINE__ std::unique_ptr< HiCR::ProcessingUnit > createProcessingUnit(std::shared_ptr< HiCR::ComputeResource > computeResource) const override
Definition computeManager.hpp:66
__INLINE__ void suspendImpl(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit) override
Definition computeManager.hpp:119
__INLINE__ void terminateImpl(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit) override
Definition computeManager.hpp:145
Definition processingUnit.hpp:53
Provides a definition for the abstract compute manager class.
Provides a failure model and corresponding exception classes.
Generated by