ArmNN
 22.05
WorkloadFactoryBase Class Reference

#include <WorkloadFactoryBase.hpp>

Inheritance diagram for WorkloadFactoryBase:
IWorkloadFactory ClWorkloadFactory NeonWorkloadFactory

Public Member Functions

bool SupportsSubTensors () const override
 
std::unique_ptr< ITensorHandleCreateSubTensorHandle (ITensorHandle &, TensorShape const &, unsigned int const *) const override
 
std::unique_ptr< IWorkloadCreateInput (const InputQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< ITensorHandleCreateTensorHandle (const TensorInfo &, const bool) const override
 
std::unique_ptr< ITensorHandleCreateTensorHandle (const TensorInfo &, DataLayout, const bool) const override
 
std::unique_ptr< IWorkloadCreateWorkload (LayerType, const QueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateActivation (const ActivationQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateAddition (const AdditionQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateArgMinMax (const ArgMinMaxQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateBatchNormalization (const BatchNormalizationQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateBatchToSpaceNd (const BatchToSpaceNdQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateComparison (const ComparisonQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateConcat (const ConcatQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateConstant (const ConstantQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateConvertFp16ToFp32 (const ConvertFp16ToFp32QueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateConvertFp32ToFp16 (const ConvertFp32ToFp16QueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateConvolution2d (const Convolution2dQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateDebug (const DebugQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateDepthToSpace (const DepthToSpaceQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateDepthwiseConvolution2d (const DepthwiseConvolution2dQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateDequantize (const DequantizeQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateDetectionPostProcess (const DetectionPostProcessQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateDivision (const DivisionQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateElementwiseUnary (const ElementwiseUnaryQueueDescriptor &descriptor, const WorkloadInfo &info) const override
 
std::unique_ptr< IWorkloadCreateFakeQuantization (const FakeQuantizationQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateFloor (const FloorQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateFullyConnected (const FullyConnectedQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateGather (const GatherQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateInstanceNormalization (const InstanceNormalizationQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateL2Normalization (const L2NormalizationQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateLogSoftmax (const LogSoftmaxQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateLstm (const LstmQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateMaximum (const MaximumQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateMean (const MeanQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateMemCopy (const MemCopyQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateMemImport (const MemImportQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateMerge (const MergeQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateMinimum (const MinimumQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateMultiplication (const MultiplicationQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateNormalization (const NormalizationQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateOutput (const OutputQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreatePad (const PadQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreatePermute (const PermuteQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreatePooling2d (const Pooling2dQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreatePooling3d (const Pooling3dQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreatePreCompiled (const PreCompiledQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreatePrelu (const PreluQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateQuantize (const QuantizeQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateQuantizedLstm (const QuantizedLstmQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateRank (const RankQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateReshape (const ReshapeQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateResize (const ResizeQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateSlice (const SliceQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateSoftmax (const SoftmaxQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateSpaceToBatchNd (const SpaceToBatchNdQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateSpaceToDepth (const SpaceToDepthQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateSubtraction (const SubtractionQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateSplitter (const SplitterQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateStack (const StackQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateStridedSlice (const StridedSliceQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateSwitch (const SwitchQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateTranspose (const TransposeQueueDescriptor &, const WorkloadInfo &) const override
 
std::unique_ptr< IWorkloadCreateTransposeConvolution2d (const TransposeConvolution2dQueueDescriptor &, const WorkloadInfo &) const override
 
- Public Member Functions inherited from IWorkloadFactory
virtual ~IWorkloadFactory ()
 
virtual void AfterWorkloadsCreated ()
 
virtual const BackendIdGetBackendId () const =0
 

Additional Inherited Members

- Static Public Member Functions inherited from IWorkloadFactory
static bool IsLayerSupported (const BackendId &backendId, const IConnectableLayer &layer, Optional< DataType > dataType, std::string &outReasonIfUnsupported)
 
static bool IsLayerSupported (const IConnectableLayer &layer, Optional< DataType > dataType, std::string &outReasonIfUnsupported)
 
static bool IsLayerSupported (const IConnectableLayer &layer, Optional< DataType > dataType, std::string &outReasonIfUnsupported, const ModelOptions &modelOptions)
 
static bool IsLayerSupported (const BackendId &backendId, const IConnectableLayer &layer, Optional< DataType > dataType, std::string &outReasonIfUnsupported, const ModelOptions &modelOptions)
 

Detailed Description

Definition at line 13 of file WorkloadFactoryBase.hpp.

Member Function Documentation

◆ CreateActivation()

std::unique_ptr<IWorkload> CreateActivation ( const ActivationQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateAddition()

std::unique_ptr<IWorkload> CreateAddition ( const AdditionQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateArgMinMax()

std::unique_ptr<IWorkload> CreateArgMinMax ( const ArgMinMaxQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateBatchNormalization()

std::unique_ptr<IWorkload> CreateBatchNormalization ( const BatchNormalizationQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateBatchToSpaceNd()

std::unique_ptr<IWorkload> CreateBatchToSpaceNd ( const BatchToSpaceNdQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateComparison()

std::unique_ptr<IWorkload> CreateComparison ( const ComparisonQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateConcat()

std::unique_ptr<IWorkload> CreateConcat ( const ConcatQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateConstant()

std::unique_ptr<IWorkload> CreateConstant ( const ConstantQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateConvertFp16ToFp32()

std::unique_ptr<IWorkload> CreateConvertFp16ToFp32 ( const ConvertFp16ToFp32QueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateConvertFp32ToFp16()

std::unique_ptr<IWorkload> CreateConvertFp32ToFp16 ( const ConvertFp32ToFp16QueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateConvolution2d()

std::unique_ptr<IWorkload> CreateConvolution2d ( const Convolution2dQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateDebug()

std::unique_ptr<IWorkload> CreateDebug ( const DebugQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateDepthToSpace()

std::unique_ptr<IWorkload> CreateDepthToSpace ( const DepthToSpaceQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateDepthwiseConvolution2d()

std::unique_ptr<IWorkload> CreateDepthwiseConvolution2d ( const DepthwiseConvolution2dQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateDequantize()

std::unique_ptr<IWorkload> CreateDequantize ( const DequantizeQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateDetectionPostProcess()

std::unique_ptr<IWorkload> CreateDetectionPostProcess ( const DetectionPostProcessQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateDivision()

std::unique_ptr<IWorkload> CreateDivision ( const DivisionQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateElementwiseUnary()

std::unique_ptr<IWorkload> CreateElementwiseUnary ( const ElementwiseUnaryQueueDescriptor descriptor,
const WorkloadInfo info 
) const
inlineoverride

◆ CreateFakeQuantization()

std::unique_ptr<IWorkload> CreateFakeQuantization ( const FakeQuantizationQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

Definition at line 123 of file WorkloadFactoryBase.hpp.

125  { return nullptr; }

◆ CreateFloor()

std::unique_ptr<IWorkload> CreateFloor ( const FloorQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateFullyConnected()

std::unique_ptr<IWorkload> CreateFullyConnected ( const FullyConnectedQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateGather()

std::unique_ptr<IWorkload> CreateGather ( const GatherQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateInput()

std::unique_ptr<IWorkload> CreateInput ( const InputQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverridevirtual

◆ CreateInstanceNormalization()

std::unique_ptr<IWorkload> CreateInstanceNormalization ( const InstanceNormalizationQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateL2Normalization()

std::unique_ptr<IWorkload> CreateL2Normalization ( const L2NormalizationQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateLogSoftmax()

std::unique_ptr<IWorkload> CreateLogSoftmax ( const LogSoftmaxQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateLstm()

std::unique_ptr<IWorkload> CreateLstm ( const LstmQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateMaximum()

std::unique_ptr<IWorkload> CreateMaximum ( const MaximumQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateMean()

std::unique_ptr<IWorkload> CreateMean ( const MeanQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateMemCopy()

std::unique_ptr<IWorkload> CreateMemCopy ( const MemCopyQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateMemImport()

std::unique_ptr<IWorkload> CreateMemImport ( const MemImportQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateMerge()

std::unique_ptr<IWorkload> CreateMerge ( const MergeQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

Definition at line 171 of file WorkloadFactoryBase.hpp.

173  { return nullptr; }

◆ CreateMinimum()

std::unique_ptr<IWorkload> CreateMinimum ( const MinimumQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateMultiplication()

std::unique_ptr<IWorkload> CreateMultiplication ( const MultiplicationQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateNormalization()

std::unique_ptr<IWorkload> CreateNormalization ( const NormalizationQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateOutput()

std::unique_ptr<IWorkload> CreateOutput ( const OutputQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreatePad()

std::unique_ptr<IWorkload> CreatePad ( const PadQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreatePermute()

std::unique_ptr<IWorkload> CreatePermute ( const PermuteQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreatePooling2d()

std::unique_ptr<IWorkload> CreatePooling2d ( const Pooling2dQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreatePooling3d()

std::unique_ptr<IWorkload> CreatePooling3d ( const Pooling3dQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

Definition at line 203 of file WorkloadFactoryBase.hpp.

205  { return nullptr; }

◆ CreatePreCompiled()

std::unique_ptr<IWorkload> CreatePreCompiled ( const PreCompiledQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreatePrelu()

std::unique_ptr<IWorkload> CreatePrelu ( const PreluQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateQuantize()

std::unique_ptr<IWorkload> CreateQuantize ( const QuantizeQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateQuantizedLstm()

std::unique_ptr<IWorkload> CreateQuantizedLstm ( const QuantizedLstmQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateRank()

std::unique_ptr<IWorkload> CreateRank ( const RankQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateReshape()

std::unique_ptr<IWorkload> CreateReshape ( const ReshapeQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateResize()

std::unique_ptr<IWorkload> CreateResize ( const ResizeQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateSlice()

std::unique_ptr<IWorkload> CreateSlice ( const SliceQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateSoftmax()

std::unique_ptr<IWorkload> CreateSoftmax ( const SoftmaxQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateSpaceToBatchNd()

std::unique_ptr<IWorkload> CreateSpaceToBatchNd ( const SpaceToBatchNdQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateSpaceToDepth()

std::unique_ptr<IWorkload> CreateSpaceToDepth ( const SpaceToDepthQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateSplitter()

std::unique_ptr<IWorkload> CreateSplitter ( const SplitterQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateStack()

std::unique_ptr<IWorkload> CreateStack ( const StackQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateStridedSlice()

std::unique_ptr<IWorkload> CreateStridedSlice ( const StridedSliceQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateSubTensorHandle()

std::unique_ptr<ITensorHandle> CreateSubTensorHandle ( ITensorHandle ,
TensorShape const &  ,
unsigned int const *   
) const
inlineoverridevirtual

Implements IWorkloadFactory.

Reimplemented in ClWorkloadFactory, and NeonWorkloadFactory.

Definition at line 19 of file WorkloadFactoryBase.hpp.

22  { return nullptr; };

◆ CreateSubtraction()

std::unique_ptr<IWorkload> CreateSubtraction ( const SubtractionQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateSwitch()

std::unique_ptr<IWorkload> CreateSwitch ( const SwitchQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

Definition at line 267 of file WorkloadFactoryBase.hpp.

269  { return nullptr; }

◆ CreateTensorHandle() [1/2]

std::unique_ptr<ITensorHandle> CreateTensorHandle ( const TensorInfo ,
const bool   
) const
inlineoverridevirtual

Implements IWorkloadFactory.

Reimplemented in ClWorkloadFactory, and NeonWorkloadFactory.

Definition at line 28 of file WorkloadFactoryBase.hpp.

30  { return nullptr; }

◆ CreateTensorHandle() [2/2]

std::unique_ptr<ITensorHandle> CreateTensorHandle ( const TensorInfo ,
DataLayout  ,
const bool   
) const
inlineoverridevirtual

Implements IWorkloadFactory.

Reimplemented in ClWorkloadFactory, and NeonWorkloadFactory.

Definition at line 32 of file WorkloadFactoryBase.hpp.

35  { return nullptr; }

◆ CreateTranspose()

std::unique_ptr<IWorkload> CreateTranspose ( const TransposeQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateTransposeConvolution2d()

std::unique_ptr<IWorkload> CreateTransposeConvolution2d ( const TransposeConvolution2dQueueDescriptor ,
const WorkloadInfo  
) const
inlineoverride

◆ CreateWorkload()

std::unique_ptr<IWorkload> CreateWorkload ( LayerType  ,
const QueueDescriptor ,
const WorkloadInfo  
) const
inlineoverridevirtual

Reimplemented from IWorkloadFactory.

Reimplemented in ClWorkloadFactory, and NeonWorkloadFactory.

Definition at line 37 of file WorkloadFactoryBase.hpp.

Referenced by WorkloadFactoryBase::CreateElementwiseUnary().

40  { return nullptr; }

◆ SupportsSubTensors()

bool SupportsSubTensors ( ) const
inlineoverridevirtual

Implements IWorkloadFactory.

Reimplemented in ClWorkloadFactory, and NeonWorkloadFactory.

Definition at line 16 of file WorkloadFactoryBase.hpp.

17  { return false; };

The documentation for this class was generated from the following file: