/home/runner/work/HiCR/HiCR/include/hicr/backends/ascend/computeManager.hpp Source File
HiCR
|
computeManager.hpp
Go to the documentation of this file.
66 __INLINE__ std::shared_ptr<HiCR::ExecutionUnit> createExecutionUnit(const std::vector<std::shared_ptr<ascend::Kernel>> &kernelOperations)
79 __INLINE__ std::unique_ptr<HiCR::ExecutionState> createExecutionState(std::shared_ptr<HiCR::ExecutionUnit> executionUnit, void *const argument = nullptr) const override
91 __INLINE__ std::unique_ptr<HiCR::ProcessingUnit> createProcessingUnit(std::shared_ptr<HiCR::ComputeResource> resource) const override
126 __INLINE__ void suspendImpl(std::unique_ptr<HiCR::ProcessingUnit> &processingUnit) override { HICR_THROW_RUNTIME("Suspend functionality not supported by Ascend backend"); }
133 __INLINE__ void resumeImpl(std::unique_ptr<HiCR::ProcessingUnit> &processingUnit) override { HICR_THROW_RUNTIME("Resume functionality not supported by Ascend backend"); }
140 __INLINE__ void terminateImpl(std::unique_ptr<HiCR::ProcessingUnit> &processingUnit) override {}
162 [[nodiscard]] __INLINE__ ascend::ProcessingUnit *getAscendPointer(std::unique_ptr<HiCR::ProcessingUnit> &processingUnit)
168 // If the processing unit is not recognized, throw error. We can use the processing unit's type (string) now.
169 if (p == nullptr) HICR_THROW_LOGIC("This compute manager cannot handle processing units of type '%s'", processingUnit->getType());
This file implements the Kernel class for the Ascend backend.
This file implements the execution unit class for the Ascend backend.
Implements the processing unit class for the Ascend backend.
Definition computeManager.hpp:48
Definition computeManager.hpp:48
__INLINE__ void startImpl(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit, std::unique_ptr< HiCR::ExecutionState > &executionState) override
Definition computeManager.hpp:115
__INLINE__ std::unique_ptr< HiCR::ProcessingUnit > createProcessingUnit(std::shared_ptr< HiCR::ComputeResource > resource) const override
Definition computeManager.hpp:91
__INLINE__ void terminateImpl(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit) override
Definition computeManager.hpp:140
__INLINE__ void initializeImpl(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit) override
Definition computeManager.hpp:103
__INLINE__ std::unique_ptr< HiCR::ExecutionState > createExecutionState(std::shared_ptr< HiCR::ExecutionUnit > executionUnit, void *const argument=nullptr) const override
Definition computeManager.hpp:79
__INLINE__ void suspendImpl(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit) override
Definition computeManager.hpp:126
~ComputeManager() override=default
__INLINE__ void resumeImpl(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit) override
Definition computeManager.hpp:133
__INLINE__ void awaitImpl(std::unique_ptr< HiCR::ProcessingUnit > &processingUnit) override
Definition computeManager.hpp:147
ComputeManager()
Definition computeManager.hpp:54
__INLINE__ std::shared_ptr< HiCR::ExecutionUnit > createExecutionUnit(const std::vector< std::shared_ptr< ascend::Kernel > > &kernelOperations)
Definition computeManager.hpp:66
Definition processingUnit.hpp:49
Provides a definition for the abstract compute manager class.
Generated by