ComputeManager Class Reference
|
HiCR
|
#include <computeManager.hpp>
Public Member Functions | |
| ComputeManager (const std::shared_ptr< cl::Context > &context) | |
| ~ComputeManager () override=default | |
| __INLINE__ std::shared_ptr< HiCR::ExecutionUnit > | createExecutionUnit (const std::vector< std::shared_ptr< opencl::Kernel > > &kernelOperations) |
| __INLINE__ std::unique_ptr< HiCR::ExecutionState > | createExecutionState (std::shared_ptr< HiCR::ExecutionUnit > executionUnit, void *const argument=nullptr) const override |
| __INLINE__ std::unique_ptr< HiCR::ProcessingUnit > | createProcessingUnit (std::shared_ptr< HiCR::ComputeResource > resource) const override |
Public Member Functions inherited from HiCR::ComputeManager | |
| virtual __INLINE__ std::shared_ptr< HiCR::ExecutionUnit > | createExecutionUnit (const replicableFc_t &function) |
| virtual std::unique_ptr< HiCR::ProcessingUnit > | createProcessingUnit (std::shared_ptr< HiCR::ComputeResource > resource) const =0 |
| virtual std::unique_ptr< HiCR::ExecutionState > | createExecutionState (std::shared_ptr< HiCR::ExecutionUnit > executionUnit, void *const argument=nullptr) const =0 |
| __INLINE__ void | initialize (std::unique_ptr< HiCR::ProcessingUnit > &processingUnit) |
| __INLINE__ void | start (std::unique_ptr< HiCR::ProcessingUnit > &processingUnit, std::unique_ptr< HiCR::ExecutionState > &executionState) |
| __INLINE__ void | suspend (std::unique_ptr< HiCR::ProcessingUnit > &processingUnit) |
| __INLINE__ void | resume (std::unique_ptr< HiCR::ProcessingUnit > &processingUnit) |
| __INLINE__ void | terminate (std::unique_ptr< HiCR::ProcessingUnit > &processingUnit) |
| __INLINE__ void | await (std::unique_ptr< HiCR::ProcessingUnit > &processingUnit) |
Protected Member Functions | |
| __INLINE__ void | initializeImpl (std::unique_ptr< HiCR::ProcessingUnit > &processingUnit) override |
| __INLINE__ void | startImpl (std::unique_ptr< HiCR::ProcessingUnit > &processingUnit, std::unique_ptr< HiCR::ExecutionState > &executionState) override |
| __INLINE__ void | suspendImpl (std::unique_ptr< HiCR::ProcessingUnit > &processingUnit) override |
| __INLINE__ void | resumeImpl (std::unique_ptr< HiCR::ProcessingUnit > &processingUnit) override |
| __INLINE__ void | terminateImpl (std::unique_ptr< HiCR::ProcessingUnit > &processingUnit) override |
| __INLINE__ void | awaitImpl (std::unique_ptr< HiCR::ProcessingUnit > &processingUnit) override |
Protected Member Functions inherited from HiCR::ComputeManager | |
| virtual void | initializeImpl (std::unique_ptr< HiCR::ProcessingUnit > &processingUnit)=0 |
| virtual void | startImpl (std::unique_ptr< HiCR::ProcessingUnit > &processingUnit, std::unique_ptr< HiCR::ExecutionState > &executionState)=0 |
| virtual void | suspendImpl (std::unique_ptr< HiCR::ProcessingUnit > &processingUnit)=0 |
| virtual void | resumeImpl (std::unique_ptr< HiCR::ProcessingUnit > &processingUnit)=0 |
| virtual void | terminateImpl (std::unique_ptr< HiCR::ProcessingUnit > &processingUnit)=0 |
| virtual void | awaitImpl (std::unique_ptr< HiCR::ProcessingUnit > &processingUnit)=0 |
Detailed Description
Implementation of the HiCR OpenCL backend compute manager.
It stores the processing units detected by OpenCL.
Constructor & Destructor Documentation
◆ ComputeManager()
|
inline |
Constructor for the Compute Manager class for the OpenCL backend
- Parameters
-
[in] context the OpenCL context
◆ ~ComputeManager()
|
overridevirtualdefault |
Default destructor
Reimplemented from HiCR::ComputeManager.
Member Function Documentation
◆ awaitImpl()
|
inlineoverrideprotected |
Internal implementation of awaitImpl
- Parameters
-
processingUnit the processing unit to operate on
◆ createExecutionState()
|
inlineoverride |
Creates an execution state using the device context information and the exection unit to run on the opencl
- Parameters
-
[in] executionUnit execution Unit to launch on the opencl [in] argument argument (not required by opencl)
- Returns
- return a unique pointer to the newly created Execution State
◆ createExecutionUnit()
|
inline |
Creates an execution unit given a stream/vector of kernelOperations to be executed on the device
- Parameters
-
[in] kernelOperations the sequence of kernel operations to executed
- Returns
- a pointer to the new execution unit
◆ createProcessingUnit()
|
inlineoverride |
Create a new processing unit for the specified resource (device)
- Parameters
-
[in] resource the deviceId in which the processing unit is to be created
- Returns
- a pointer to the new processing unit
◆ initializeImpl()
|
inlineoverrideprotected |
Internal implementation of initailizeImpl
- Parameters
-
processingUnit the processing unit to operate on
◆ resumeImpl()
|
inlineoverrideprotected |
Internal implementation of resumeImpl
- Parameters
-
processingUnit the processing unit to operate on
◆ startImpl()
|
inlineoverrideprotected |
Internal implementation of initailizeImpl
- Parameters
-
processingUnit the processing unit to operate on executionState the execution state to operate on
◆ suspendImpl()
|
inlineoverrideprotected |
Internal implementation of suspendImpl
- Parameters
-
processingUnit the processing unit to operate on
◆ terminateImpl()
|
inlineoverrideprotected |
Internal implementation of terminateImpl
- Parameters
-
processingUnit the processing unit to operate on
The documentation for this class was generated from the following file:
- /home/runner/work/HiCR/HiCR/include/hicr/backends/opencl/computeManager.hpp
Generated by
Public Member Functions inherited from