24.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 46 of file ITensorHandleFactory.hpp.
using FactoryId = std::string |
Definition at line 49 of file ITensorHandleFactory.hpp.
|
inlinevirtual |
Some TensorHandleFactory decisions are deferred to run-time.
Definition at line 53 of file ITensorHandleFactory.hpp.
|
pure virtual |
|
pure virtual |
Implemented in NeonTensorHandleFactory, ClImportTensorHandleFactory, MockTensorHandleFactory, ClTensorHandleFactory, RefTensorHandleFactory, TosaRefTensorHandleFactory, GpuFsaTensorHandleFactory, and SampleDynamicTensorHandleFactory.
Referenced by ITensorHandleFactory::CreateTensorHandle(), OutputHandler::CreateTensorHandles(), LoadedNetwork::CreateWorkingMemHandle(), LoadedNetwork::ImportInputs(), and LoadedNetwork::ImportOutputs().
|
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, MockTensorHandleFactory, ClTensorHandleFactory, RefTensorHandleFactory, TosaRefTensorHandleFactory, GpuFsaTensorHandleFactory, and SampleDynamicTensorHandleFactory.
Definition at line 67 of file ITensorHandleFactory.hpp.
References ITensorHandleFactory::CreateTensorHandle(), and armnn::IgnoreUnused().
|
pure virtual |
|
inlinevirtual |
Reimplemented in NeonTensorHandleFactory, ClImportTensorHandleFactory, MockTensorHandleFactory, ClTensorHandleFactory, RefTensorHandleFactory, TosaRefTensorHandleFactory, GpuFsaTensorHandleFactory, and SampleDynamicTensorHandleFactory.
Definition at line 74 of file ITensorHandleFactory.hpp.
References ITensorHandleFactory::CreateTensorHandle(), and armnn::IgnoreUnused().
|
inlinevirtual |
Reimplemented in NeonTensorHandleFactory, and ClImportTensorHandleFactory.
Definition at line 93 of file ITensorHandleFactory.hpp.
References armnn::IgnoreUnused().
Referenced by armnn::CalculateEdgeStrategy(), and armnn::CalculateSlotOption().
|
inlinevirtual |
Reimplemented in NeonTensorHandleFactory, ClImportTensorHandleFactory, MockTensorHandleFactory, ClTensorHandleFactory, RefTensorHandleFactory, TosaRefTensorHandleFactory, SampleDynamicTensorHandleFactory, and GpuFsaTensorHandleFactory.
Definition at line 90 of file ITensorHandleFactory.hpp.
Referenced by armnn::CalculateEdgeStrategy(), armnn::CalculateSlotOption(), and armnn::RequiresCopy().
|
pure virtual |
|
inlinevirtual |
Reimplemented in NeonTensorHandleFactory, ClImportTensorHandleFactory, MockTensorHandleFactory, ClTensorHandleFactory, RefTensorHandleFactory, TosaRefTensorHandleFactory, SampleDynamicTensorHandleFactory, and GpuFsaTensorHandleFactory.
Definition at line 91 of file ITensorHandleFactory.hpp.
Referenced by armnn::CalculateEdgeStrategy(), armnn::CalculateSlotOptionForInput(), and armnn::RequiresCopy().
|
inlinevirtual |
Reimplemented in NeonTensorHandleFactory.
Definition at line 84 of file ITensorHandleFactory.hpp.
|
inlinevirtual |
Reimplemented in ClImportTensorHandleFactory.
Definition at line 88 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 51 of file ITensorHandleFactory.hpp.
Referenced by armnn::CalculateSlotOptionForOutput().
|
static |
Definition at line 50 of file ITensorHandleFactory.hpp.
Referenced by Graph::AddCompatibilityLayers(), armnn::CalculateEdgeStrategy(), armnn::CalculateSlotOption(), armnn::CalculateSlotOptionForInput(), SplitterLayer::CreateTensorHandles(), ConcatLayer::CreateTensorHandles(), Layer::CreateTensorHandles(), LoadedNetwork::CreateWorkingMemHandle(), IBackendInternal::GetBackwardCompatibleFavoriteHandleFactory(), and armnn::SelectTensorHandleStrategy().