24.02
|
#include <WorkloadFactory.hpp>
Public Member Functions | |
virtual | ~IWorkloadFactory () |
virtual void | AfterWorkloadsCreated () |
virtual const BackendId & | GetBackendId () const =0 |
virtual bool | SupportsSubTensors () const =0 |
virtual std::unique_ptr< ITensorHandle > | CreateSubTensorHandle (ITensorHandle &parent, TensorShape const &subTensorShape, unsigned int const *subTensorOrigin) const =0 |
virtual std::unique_ptr< ITensorHandle > | CreateTensorHandle (const TensorInfo &tensorInfo, const bool IsMemoryManaged=true) const =0 |
virtual std::unique_ptr< ITensorHandle > | CreateTensorHandle (const TensorInfo &tensorInfo, DataLayout dataLayout, const bool IsMemoryManaged=true) const =0 |
virtual std::unique_ptr< IWorkload > | CreateWorkload (LayerType type, const QueueDescriptor &descriptor, const WorkloadInfo &info) const =0 |
Backends should implement their own CreateWorkload function with a switch statement. More... | |
Static Public Member Functions | |
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) |
Definition at line 22 of file WorkloadFactory.hpp.
|
inlinevirtual |
Definition at line 25 of file WorkloadFactory.hpp.
|
inlinevirtual |
|
pure virtual |
|
pure virtual |
Implemented in RefWorkloadFactory, ClWorkloadFactory, TosaRefWorkloadFactory, NeonWorkloadFactory, GpuFsaWorkloadFactory, WorkloadFactoryBase, and SampleDynamicWorkloadFactory.
Referenced by OutputHandler::CreateTensorHandles().
|
pure virtual |
|
pure virtual |
Backends should implement their own CreateWorkload function with a switch statement.
The case for the switch should be the LayerType and based on that they will call their specific workload creation functionality.
Implemented in WorkloadFactoryBase, RefWorkloadFactory, ClWorkloadFactory, TosaRefWorkloadFactory, NeonWorkloadFactory, GpuFsaWorkloadFactory, and SampleDynamicWorkloadFactory.
Referenced by ActivationLayer::CreateWorkload(), BroadcastToLayer::CreateWorkload(), ConvertFp32ToFp16Layer::CreateWorkload(), FillLayer::CreateWorkload(), QuantizeLayer::CreateWorkload(), RankLayer::CreateWorkload(), AbsLayer::CreateWorkload(), GatherNdLayer::CreateWorkload(), InstanceNormalizationLayer::CreateWorkload(), StackLayer::CreateWorkload(), StridedSliceLayer::CreateWorkload(), SwitchLayer::CreateWorkload(), L2NormalizationLayer::CreateWorkload(), SliceLayer::CreateWorkload(), TileLayer::CreateWorkload(), RsqrtLayer::CreateWorkload(), CastLayer::CreateWorkload(), DebugLayer::CreateWorkload(), BatchMatMulLayer::CreateWorkload(), DequantizeLayer::CreateWorkload(), NormalizationLayer::CreateWorkload(), Pooling2dLayer::CreateWorkload(), Pooling3dLayer::CreateWorkload(), ConcatLayer::CreateWorkload(), FakeQuantizationLayer::CreateWorkload(), ResizeLayer::CreateWorkload(), AdditionLayer::CreateWorkload(), ConvertFp16ToFp32Layer::CreateWorkload(), FloorLayer::CreateWorkload(), ShapeLayer::CreateWorkload(), BatchToSpaceNdLayer::CreateWorkload(), SoftmaxLayer::CreateWorkload(), SplitterLayer::CreateWorkload(), MeanLayer::CreateWorkload(), MaximumLayer::CreateWorkload(), ReverseV2Layer::CreateWorkload(), SpaceToBatchNdLayer::CreateWorkload(), SubtractionLayer::CreateWorkload(), SpaceToDepthLayer::CreateWorkload(), GatherLayer::CreateWorkload(), LogicalBinaryLayer::CreateWorkload(), LogSoftmaxLayer::CreateWorkload(), DepthToSpaceLayer::CreateWorkload(), ElementwiseUnaryLayer::CreateWorkload(), MinimumLayer::CreateWorkload(), ArgMinMaxLayer::CreateWorkload(), MultiplicationLayer::CreateWorkload(), PadLayer::CreateWorkload(), ComparisonLayer::CreateWorkload(), PermuteLayer::CreateWorkload(), DivisionLayer::CreateWorkload(), TransposeLayer::CreateWorkload(), PreluLayer::CreateWorkload(), ElementwiseBinaryLayer::CreateWorkload(), ReduceLayer::CreateWorkload(), ReshapeLayer::CreateWorkload(), ConstantLayer::CreateWorkload(), ChannelShuffleLayer::CreateWorkload(), Convolution3dLayer::CreateWorkload(), Convolution2dLayer::CreateWorkload(), FullyConnectedLayer::CreateWorkload(), DepthwiseConvolution2dLayer::CreateWorkload(), FusedLayer::CreateWorkload(), DetectionPostProcessLayer::CreateWorkload(), TransposeConvolution2dLayer::CreateWorkload(), PreCompiledLayer::CreateWorkload(), UnidirectionalSequenceLstmLayer::CreateWorkload(), LstmLayer::CreateWorkload(), BatchNormalizationLayer::CreateWorkload(), QuantizedLstmLayer::CreateWorkload(), and QLstmLayer::CreateWorkload().
|
pure virtual |
|
static |
Definition at line 1614 of file WorkloadFactory.cpp.
Referenced by armnn::AttemptBackendAssignment(), GpuFsaWorkloadFactory::IsLayerSupported(), TosaRefWorkloadFactory::IsLayerSupported(), NeonWorkloadFactory::IsLayerSupported(), ClWorkloadFactory::IsLayerSupported(), and RefWorkloadFactory::IsLayerSupported().
|
static |
Definition at line 1643 of file WorkloadFactory.cpp.
|
static |
Definition at line 1622 of file WorkloadFactory.cpp.
|
static |
Definition at line 1630 of file WorkloadFactory.cpp.
|
pure virtual |