/home/runner/work/HiCR/HiCR/include/hicr/backends/nosv/processingUnit.hpp Source File
HiCR
|
processingUnit.hpp
Go to the documentation of this file.
70 if (c == nullptr) HICR_THROW_LOGIC("The passed compute resource is not supported by this processing unit type\n");
112 auto c = std::unique_ptr<HiCR::backend::nosv::ExecutionState>(dynamic_cast<HiCR::backend::nosv::ExecutionState *>(executionState.get()));
115 if (c == nullptr) HICR_THROW_LOGIC("The passed execution state is not supported by this processing unit type\n");
124 auto metadata = (ExecutionState::taskMetadata_t *)getTaskMetadata(_executionState->_executionStateTask);
136 // Barrier to as we have to wait until the execution state task is properly initialized and running
157 auto metadata = (ExecutionState::taskMetadata_t *)getTaskMetadata(_executionState->_executionStateTask);
160 if (metadata->mainLoop == false) HICR_THROW_RUNTIME("Abort, only PU from the worker mainLoop should get here.\n");
163 while (_executionState->checkFinalization() == false) { check(nosv_yield(NOSV_YIELD_NOFLUSH)); };
This file implements the compute resource class for the HWLoc-based backend.
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
Definition processingUnit.hpp:49
Definition computeManager.hpp:44
Definition executionState.hpp:47
Definition processingUnit.hpp:53
__INLINE__ ProcessingUnit(const std::shared_ptr< HiCR::ComputeResource > &computeResource)
Definition processingUnit.hpp:63
__INLINE__ std::string getType() override
Definition processingUnit.hpp:84
Provides a definition for a HiCR ProcessingUnit class.
Generated by