23.05
|
Basic interface for functions which have a single async CL kernel. More...
#include <ICLOperator.h>
Public Member Functions | |
ICLOperator (IRuntimeContext *ctx=nullptr) | |
Constructor. More... | |
ICLOperator (const ICLOperator &)=delete | |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
ICLOperator (ICLOperator &&)=default | |
Default move constructor. More... | |
ICLOperator & | operator= (const ICLOperator &)=delete |
Prevent instances of this class from being copied (As this class contains pointers) More... | |
ICLOperator & | operator= (ICLOperator &&)=default |
Default move assignment operator. More... | |
void | run (ITensorPack &tensors) override |
Run the kernels contained in the function. More... | |
void | prepare (ITensorPack &constants) override |
Prepare the function for executing. More... | |
MemoryRequirements | workspace () const override |
Return the memory requirements required by the workspace. More... | |
![]() | |
virtual | ~IOperator ()=default |
Destructor. More... | |
Basic interface for functions which have a single async CL kernel.
Definition at line 41 of file ICLOperator.h.
ICLOperator | ( | IRuntimeContext * | ctx = nullptr | ) |
Constructor.
[in] | ctx | Runtime context to be used by the function |
Definition at line 33 of file CLOperator.cpp.
|
delete |
Prevent instances of this class from being copied (As this class contains pointers)
|
default |
Default move constructor.
|
delete |
Prevent instances of this class from being copied (As this class contains pointers)
|
default |
Default move assignment operator.
|
overridevirtual |
Prepare the function for executing.
Any one off pre-processing step required by the function is handled here
[in] | constants | Vector that contains the constants tensors. |
Implements IOperator.
Reimplemented in ClConv2d, ClGemmConv2d, ClWinogradConv2d, ClGemmLowpMatrixMultiplyCore, ClGemm, ClFullyConnected, and ClIndirectConv2d.
Definition at line 48 of file CLOperator.cpp.
References ARM_COMPUTE_UNUSED.
|
overridevirtual |
Run the kernels contained in the function.
[in] | tensors | Vector that contains the tensors to operate on. |
Implements IOperator.
Reimplemented in ClSynthetizeOperatorWithBorder< K >, ClConv2d, ClGemmConv2d, ClWinogradConv2d, CLSynthetizeOperatorInitOutputWithZeroAndWithZeroConstantBorder< K, bordersize >, ClGemmLowpMatrixMultiplyCore, ClGemm, ClFullyConnected, ClIndirectConv2d, ClGemmLowpOutputStage, ClTransposedConvolution, ClMatMul, ClDirectConv3d, ClDirectConv2d, ClConcatenate, ClSoftmax, ClScale, ClPRelu, ClQuantize, and ClDequantize.
Definition at line 38 of file CLOperator.cpp.
References ARM_COMPUTE_ERROR, ITensorPack::empty(), CLScheduler::enqueue_op(), and CLScheduler::get().
Referenced by ClPRelu::run(), CLLogicalOr::run(), and CLLogicalAnd::run().
|
overridevirtual |
Return the memory requirements required by the workspace.
Implements IOperator.
Reimplemented in ClConv2d, ClGemmConv2d, ClWinogradConv2d, ClGemmLowpMatrixMultiplyCore, ClGemm, ClFullyConnected, ClIndirectConv2d, and ClSoftmax.
Definition at line 53 of file CLOperator.cpp.