/home/runner/work/HiCR/HiCR/include/hicr/core/computeManager.hpp Source File
|
HiCR
|
computeManager.hpp
Go to the documentation of this file.
63 virtual __INLINE__ std::shared_ptr<HiCR::ExecutionUnit> createExecutionUnit(const replicableFc_t &function)
65 HICR_THROW_RUNTIME("This compute manager cannot create execution units out of replicable CPU-executable functions");
75 [[nodiscard]] virtual std::unique_ptr<HiCR::ProcessingUnit> createProcessingUnit(std::shared_ptr<HiCR::ComputeResource> resource) const = 0;
86 virtual std::unique_ptr<HiCR::ExecutionState> createExecutionState(std::shared_ptr<HiCR::ExecutionUnit> executionUnit, void *const argument = nullptr) const = 0;
115 __INLINE__ void start(std::unique_ptr<HiCR::ProcessingUnit> &processingUnit, std::unique_ptr<HiCR::ExecutionState> &executionState)
121 if (state != HiCR::ProcessingUnit::ready) HICR_THROW_RUNTIME("Attempting to start processing unit that is not in the 'ready' state");
141 if (state != HiCR::ProcessingUnit::running) HICR_THROW_RUNTIME("Attempting to suspend processing unit that is not in the 'running' state");
161 if (state != HiCR::ProcessingUnit::suspended) HICR_THROW_RUNTIME("Attempting to resume processing unit that is not in the 'suspended' state");
195 if (state != HiCR::ProcessingUnit::terminating && state != HiCR::ProcessingUnit::running && state != HiCR::ProcessingUnit::suspended) return;
Definition computeManager.hpp:48
virtual void terminateImpl(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit)=0
virtual ~ComputeManager()=default
virtual void resumeImpl(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit)=0
virtual std::unique_ptr< HiCR::ProcessingUnit > createProcessingUnit(std::shared_ptr< HiCR::ComputeResource > resource) const =0
__INLINE__ void initialize(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit)
Definition computeManager.hpp:93
virtual void suspendImpl(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit)=0
__INLINE__ void suspend(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit)
Definition computeManager.hpp:135
__INLINE__ void start(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit, std::unique_ptr< HiCR::ExecutionState > &executionState)
Definition computeManager.hpp:115
virtual void startImpl(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit, std::unique_ptr< HiCR::ExecutionState > &executionState)=0
virtual void initializeImpl(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit)=0
virtual void awaitImpl(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit)=0
virtual std::unique_ptr< HiCR::ExecutionState > createExecutionState(std::shared_ptr< HiCR::ExecutionUnit > executionUnit, void *const argument=nullptr) const =0
__INLINE__ void terminate(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit)
Definition computeManager.hpp:175
virtual __INLINE__ std::shared_ptr< HiCR::ExecutionUnit > createExecutionUnit(const replicableFc_t &function)
Definition computeManager.hpp:63
__INLINE__ void await(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit)
Definition computeManager.hpp:189
__INLINE__ void resume(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit)
Definition computeManager.hpp:155
Provides a base definition for a HiCR ComputeResource class.
Provides a base definition for a HiCR Execution State class.
Provides a base definition for a HiCR Execution Unit class.
Provides a definition for a HiCR ProcessingUnit class.
Provides a failure model and corresponding exception classes.
Generated by