21.02
|
#include <ITensorHandleFactory.hpp>
Public Types | |
using | FactoryId = std::string |
Public Member Functions | |
virtual | ~ITensorHandleFactory () |
Some TensorHandleFactory decisions are deferred to run-time. More... | |
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 =0 |
virtual std::unique_ptr< ITensorHandle > | CreateTensorHandle (const TensorInfo &tensorInfo, DataLayout dataLayout) const =0 |
virtual std::unique_ptr< ITensorHandle > | CreateTensorHandle (const TensorInfo &tensorInfo, const bool IsMemoryManaged) const |
Utility Functions for backends which require TensorHandles to have unmanaged memory. More... | |
virtual std::unique_ptr< ITensorHandle > | CreateTensorHandle (const TensorInfo &tensorInfo, DataLayout dataLayout, const bool IsMemoryManaged) const |
virtual const FactoryId & | GetId () const =0 |
virtual bool | SupportsInPlaceComputation () const |
virtual bool | SupportsSubTensors () const =0 |
virtual bool | SupportsMapUnmap () const final |
virtual MemorySourceFlags | GetExportFlags () const |
virtual MemorySourceFlags | GetImportFlags () const |
virtual std::vector< Capability > | GetCapabilities (const IConnectableLayer *layer, const IConnectableLayer *connectedLayer, CapabilityClass capabilityClass) |
Static Public Attributes | |
static const FactoryId | LegacyFactoryId = "armnn_legacy_factory" |
static const FactoryId | DeferredFactoryId = "armnn_deferred_factory" |
Use the workload factory to create the tensor handle. More... | |
Definition at line 41 of file ITensorHandleFactory.hpp.
using FactoryId = std::string |
Definition at line 44 of file ITensorHandleFactory.hpp.
|
inlinevirtual |
Some TensorHandleFactory decisions are deferred to run-time.
Definition at line 48 of file ITensorHandleFactory.hpp.
|
pure virtual |
|
pure virtual |
Implemented in NeonTensorHandleFactory, ClTensorHandleFactory, RefTensorHandleFactory, and SampleDynamicTensorHandleFactory.
Referenced by AdditionAfterMaxPoolTest(), AdditionBroadcast1ElementTestImpl(), AdditionBroadcastTestImpl(), BoundedReLuTestCommon(), BoundedReLuUint8UpperAndLowerBoundTest(), CompareActivationTestImpl(), CompareAdditionTest(), CompareBatchNormTest(), CompareConvolution2dTestImpl(), CompareDepthwiseConvolution2dTestImpl(), CompareMultiplicationTest(), ConcatDifferentInputOutputQParamTest(), Concatenate(), ConcatTest(), ConcatUint16Test(), ConcatUint8DifferentQParamsTest(), ConcatUint8Test(), ConstantLinearActivationTestCommon(), ConvertBf16ToFp32Test(), ConvertFp32ToBf16Test(), Convolution1dTestImpl(), Convolution2dPerAxisQuantTest(), OutputHandler::CreateTensorHandles(), DepthwiseConvolution2dAsymmetricTestImpl(), DepthwiseConvolution2dDepthMul1TestImpl(), DepthwiseConvolution2dPerAxisQuantTest(), DepthwiseConvolution2dTestImpl(), ElementwiseTestHelper(), ElementwiseUnaryTestHelper(), FakeQuantizationTest(), L2Normalization2dShapeTest(), Pad2dTestCommon(), Pad3dTestCommon(), Pad4dTestCommon(), PadQAsymmTestCommon(), PermuteTensorData(), PreluTest(), RankTest(), SimpleActivationTest(), SimpleConvertFp16ToFp32Test(), SimpleConvertFp32ToFp16Test(), SimpleConvolution2dNhwcTestImpl(), SimpleConvolution2dTestImpl(), SimpleFillTest(), SimpleFloorTest(), SimpleFullyConnectedTestImpl(), SimplePermuteTestImpl(), SimpleTransposeTestImpl(), SqrtNNTest(), and TransposeConvolution2dPerAxisQuantTest().
|
pure virtual |
Implemented in NeonTensorHandleFactory, ClTensorHandleFactory, RefTensorHandleFactory, and SampleDynamicTensorHandleFactory.
|
inlinevirtual |
Utility Functions for backends which require TensorHandles to have unmanaged memory.
These should be overloaded if required to facilitate direct import of input tensors and direct export of output tensors.
Reimplemented in NeonTensorHandleFactory, ClTensorHandleFactory, RefTensorHandleFactory, and SampleDynamicTensorHandleFactory.
Definition at line 62 of file ITensorHandleFactory.hpp.
References armnn::IgnoreUnused().
|
inlinevirtual |
Reimplemented in NeonTensorHandleFactory, ClTensorHandleFactory, RefTensorHandleFactory, and SampleDynamicTensorHandleFactory.
Definition at line 69 of file ITensorHandleFactory.hpp.
References armnn::IgnoreUnused().
|
inlinevirtual |
Reimplemented in NeonTensorHandleFactory.
Definition at line 88 of file ITensorHandleFactory.hpp.
References armnn::IgnoreUnused().
Referenced by armnn::CalculateEdgeStrategy(), ConcatLayer::CreateWorkload(), and SplitterLayer::CreateWorkload().
|
inlinevirtual |
Reimplemented in NeonTensorHandleFactory, ClTensorHandleFactory, RefTensorHandleFactory, and SampleDynamicTensorHandleFactory.
Definition at line 85 of file ITensorHandleFactory.hpp.
Referenced by armnn::CalculateEdgeStrategy(), and armnn::RequiresCopy().
|
pure virtual |
Implemented in NeonTensorHandleFactory, ClTensorHandleFactory, RefTensorHandleFactory, and SampleDynamicTensorHandleFactory.
|
inlinevirtual |
Reimplemented in NeonTensorHandleFactory, ClTensorHandleFactory, RefTensorHandleFactory, and SampleDynamicTensorHandleFactory.
Definition at line 86 of file ITensorHandleFactory.hpp.
Referenced by armnn::CalculateEdgeStrategy(), armnn::CalculateSlotOptionForInput(), and armnn::RequiresCopy().
|
inlinevirtual |
Reimplemented in NeonTensorHandleFactory.
Definition at line 79 of file ITensorHandleFactory.hpp.
|
inlinefinalvirtual |
Definition at line 83 of file ITensorHandleFactory.hpp.
Referenced by armnn::CalculateEdgeStrategy(), armnn::CalculateSlotOption(), and armnn::CalculateSlotOptionForInput().
|
pure virtual |
Implemented in NeonTensorHandleFactory, ClTensorHandleFactory, RefTensorHandleFactory, and SampleDynamicTensorHandleFactory.
|
static |
Use the workload factory to create the tensor handle.
Definition at line 46 of file ITensorHandleFactory.hpp.
Referenced by armnn::CalculateSlotOptionForOutput().
|
static |
Definition at line 45 of file ITensorHandleFactory.hpp.
Referenced by Graph::AddCompatibilityLayers(), armnn::CalculateEdgeStrategy(), armnn::CalculateSlotOption(), armnn::CalculateSlotOptionForInput(), ConcatLayer::CreateTensorHandles(), SplitterLayer::CreateTensorHandles(), Layer::CreateTensorHandles(), IBackendInternal::GetBackwardCompatibleFavoriteHandleFactory(), and armnn::SelectTensorHandleStrategy().