22.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 |
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 42 of file ITensorHandleFactory.hpp.
using FactoryId = std::string |
Definition at line 45 of file ITensorHandleFactory.hpp.
|
inlinevirtual |
Some TensorHandleFactory decisions are deferred to run-time.
Definition at line 49 of file ITensorHandleFactory.hpp.
|
pure virtual |
Implemented in NeonTensorHandleFactory, ClImportTensorHandleFactory, ClTensorHandleFactory, MockTensorHandleFactory, RefTensorHandleFactory, and SampleDynamicTensorHandleFactory.
Referenced by ConcatDifferentInputOutputQParamTest(), Concatenate(), ConcatTest(), ConcatUint16Test(), ConcatUint8DifferentQParamsTest(), and ConcatUint8Test().
|
pure virtual |
Implemented in NeonTensorHandleFactory, ClImportTensorHandleFactory, ClTensorHandleFactory, MockTensorHandleFactory, RefTensorHandleFactory, and SampleDynamicTensorHandleFactory.
Referenced by AdditionAfterMaxPoolTest(), AdditionBroadcast1ElementTestImpl(), AdditionBroadcastTestImpl(), BoundedReLuTestCommon(), BoundedReLuUint8UpperAndLowerBoundTest(), CastTest(), CompareActivationTestImpl(), CompareAdditionTest(), CompareBatchNormTest(), CompareConvolution2dTestImpl(), CompareDepthwiseConvolution2dTestImpl(), CompareMultiplicationTest(), ConcatDifferentInputOutputQParamTest(), Concatenate(), ConcatTest(), ConcatUint16Test(), ConcatUint8DifferentQParamsTest(), ConcatUint8Test(), ConstantLinearActivationTestCommon(), ConvertBf16ToFp32Test(), ConvertFp32ToBf16Test(), Convolution1dTestImpl(), Convolution2dPerAxisQuantTest(), OutputHandler::CreateTensorHandles(), LoadedNetwork::CreateWorkingMemHandle(), DepthwiseConvolution2dAsymmetricTestImpl(), DepthwiseConvolution2dDepthMul1TestImpl(), DepthwiseConvolution2dPerAxisQuantTest(), DepthwiseConvolution2dTestImpl(), ElementwiseTestHelper(), ElementwiseUnaryTestHelper(), FakeQuantizationTest(), LoadedNetwork::ImportInputs(), LoadedNetwork::ImportOutputs(), L2Normalization2dShapeTest(), LoadedNetwork::MakeLoadedNetwork(), MirrorPad2dTestCommon(), MirrorPad3dTestCommon(), MirrorPad4dTestCommon(), Pad2dTestCommon(), Pad3dTestCommon(), Pad4dTestCommon(), PadQAsymmTestCommon(), PermuteTensorData(), PreluTest(), RankTest(), ShapeTest(), SimpleActivationTest(), SimpleConvertFp16ToFp32Test(), SimpleConvertFp32ToFp16Test(), SimpleConvolution2dNhwcTestImpl(), SimpleConvolution2dTestImpl(), SimpleConvolution3dTestImpl(), SimpleFillTest(), SimpleFloorTest(), SimpleFullyConnectedTestImpl(), SimplePermuteTestImpl(), SimpleTransposeTestImpl(), SqrtNNTest(), TransposeConvolution2dPerAxisQuantTest(), UnidirectionalSequenceLstmInt8WithCifgWithPeepholeNoProjectionTest(), UnidirectionalSequenceLstmLayerInt8NoCifgWithPeepholeWithProjectionTest(), UnidirectionalSequenceLstmLayerInt8NoCifgWithPeepholeWithProjectionWithLayerNormTest(), UnidirectionalSequenceLstmLayerInt8Test(), UnidirectionalSequenceLstmLayerInt8TimeMajorTest(), UnidirectionalSequenceLstmLayerNoCifgWithPeepholeWithProjectionTest(), UnidirectionalSequenceLstmLayerNoCifgWithPeepholeWithProjectionWithLayerNormTest(), and UnidirectionalSequenceLstmWithCifgWithPeepholeNoProjectionTest().
|
pure virtual |
|
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, ClImportTensorHandleFactory, ClTensorHandleFactory, MockTensorHandleFactory, RefTensorHandleFactory, and SampleDynamicTensorHandleFactory.
Definition at line 63 of file ITensorHandleFactory.hpp.
References armnn::IgnoreUnused().
|
inlinevirtual |
Reimplemented in NeonTensorHandleFactory, ClImportTensorHandleFactory, ClTensorHandleFactory, MockTensorHandleFactory, RefTensorHandleFactory, and SampleDynamicTensorHandleFactory.
Definition at line 70 of file ITensorHandleFactory.hpp.
References armnn::IgnoreUnused().
|
inlinevirtual |
Reimplemented in NeonTensorHandleFactory, and ClImportTensorHandleFactory.
Definition at line 89 of file ITensorHandleFactory.hpp.
References armnn::IgnoreUnused().
Referenced by armnn::CalculateEdgeStrategy(), armnn::CalculateSlotOption(), ConcatLayer::CreateWorkload(), and SplitterLayer::CreateWorkload().
|
inlinevirtual |
Reimplemented in NeonTensorHandleFactory, ClImportTensorHandleFactory, ClTensorHandleFactory, MockTensorHandleFactory, RefTensorHandleFactory, and SampleDynamicTensorHandleFactory.
Definition at line 86 of file ITensorHandleFactory.hpp.
Referenced by armnn::CalculateEdgeStrategy(), armnn::CalculateSlotOption(), and armnn::RequiresCopy().
|
pure virtual |
|
inlinevirtual |
Reimplemented in NeonTensorHandleFactory, ClImportTensorHandleFactory, ClTensorHandleFactory, MockTensorHandleFactory, RefTensorHandleFactory, and SampleDynamicTensorHandleFactory.
Definition at line 87 of file ITensorHandleFactory.hpp.
Referenced by armnn::CalculateEdgeStrategy(), armnn::CalculateSlotOptionForInput(), and armnn::RequiresCopy().
|
inlinevirtual |
Reimplemented in NeonTensorHandleFactory.
Definition at line 80 of file ITensorHandleFactory.hpp.
|
inlinevirtual |
Reimplemented in ClImportTensorHandleFactory.
Definition at line 84 of file ITensorHandleFactory.hpp.
Referenced by armnn::CalculateEdgeStrategy(), armnn::CalculateSlotOption(), and armnn::CalculateSlotOptionForInput().
|
pure virtual |
|
static |
Use the workload factory to create the tensor handle.
Definition at line 47 of file ITensorHandleFactory.hpp.
Referenced by armnn::CalculateSlotOptionForOutput().
|
static |
Definition at line 46 of file ITensorHandleFactory.hpp.
Referenced by Graph::AddCompatibilityLayers(), armnn::CalculateEdgeStrategy(), armnn::CalculateSlotOption(), armnn::CalculateSlotOptionForInput(), SplitterLayer::CreateTensorHandles(), ConcatLayer::CreateTensorHandles(), Layer::CreateTensorHandles(), LoadedNetwork::CreateWorkingMemHandle(), IBackendInternal::GetBackwardCompatibleFavoriteHandleFactory(), LoadedNetwork::MakeLoadedNetwork(), and armnn::SelectTensorHandleStrategy().