/home/runner/work/HiCR/HiCR/include/hicr/core/computeManager.hpp Source File
HiCR
|
computeManager.hpp
Go to the documentation of this file.
63 [[nodiscard]] virtual std::unique_ptr<HiCR::ProcessingUnit> createProcessingUnit(std::shared_ptr<HiCR::ComputeResource> resource) const = 0;
74 virtual std::unique_ptr<HiCR::ExecutionState> createExecutionState(std::shared_ptr<HiCR::ExecutionUnit> executionUnit, void *const argument = nullptr) const = 0;
103 __INLINE__ void start(std::unique_ptr<HiCR::ProcessingUnit> &processingUnit, std::unique_ptr<HiCR::ExecutionState> &executionState)
109 if (state != HiCR::ProcessingUnit::ready) HICR_THROW_RUNTIME("Attempting to start processing unit that is not in the 'ready' state");
129 if (state != HiCR::ProcessingUnit::running) HICR_THROW_RUNTIME("Attempting to suspend processing unit that is not in the 'running' state");
149 if (state != HiCR::ProcessingUnit::suspended) HICR_THROW_RUNTIME("Attempting to resume processing unit that is not in the 'suspended' state");
183 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:81
virtual void suspendImpl(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit)=0
__INLINE__ void suspend(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit)
Definition computeManager.hpp:123
__INLINE__ void start(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit, std::unique_ptr< HiCR::ExecutionState > &executionState)
Definition computeManager.hpp:103
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:163
__INLINE__ void await(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit)
Definition computeManager.hpp:177
__INLINE__ void resume(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit)
Definition computeManager.hpp:143
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