20.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 | SupportsSubTensors () const =0 |
virtual bool | SupportsMapUnmap () const final |
virtual MemorySourceFlags | GetExportFlags () const |
virtual MemorySourceFlags | GetImportFlags () const |
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 18 of file ITensorHandleFactory.hpp.
using FactoryId = std::string |
Definition at line 21 of file ITensorHandleFactory.hpp.
|
inlinevirtual |
Some TensorHandleFactory decisions are deferred to run-time.
Definition at line 25 of file ITensorHandleFactory.hpp.
References ITensorHandleFactory::CreateSubTensorHandle(), and ITensorHandleFactory::CreateTensorHandle().
|
pure virtual |
Implemented in ClTensorHandleFactory, RefTensorHandleFactory, and NeonTensorHandleFactory.
Referenced by ITensorHandleFactory::~ITensorHandleFactory().
|
pure virtual |
Implemented in ClTensorHandleFactory, RefTensorHandleFactory, and NeonTensorHandleFactory.
Referenced by ITensorHandleFactory::CreateTensorHandle(), OutputHandler::CreateTensorHandles(), and ITensorHandleFactory::~ITensorHandleFactory().
|
pure virtual |
Implemented in ClTensorHandleFactory, RefTensorHandleFactory, and NeonTensorHandleFactory.
|
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 ClTensorHandleFactory, and NeonTensorHandleFactory.
Definition at line 39 of file ITensorHandleFactory.hpp.
References ITensorHandleFactory::CreateTensorHandle(), and armnn::IgnoreUnused().
|
inlinevirtual |
Reimplemented in ClTensorHandleFactory, and NeonTensorHandleFactory.
Definition at line 46 of file ITensorHandleFactory.hpp.
References ITensorHandleFactory::CreateTensorHandle(), ITensorHandleFactory::GetId(), armnn::IgnoreUnused(), and ITensorHandleFactory::SupportsSubTensors().
|
inlinevirtual |
Reimplemented in ClTensorHandleFactory, NeonTensorHandleFactory, and RefTensorHandleFactory.
Definition at line 60 of file ITensorHandleFactory.hpp.
Referenced by armnn::CalculateEdgeStrategy(), and armnn::RequiresCopy().
|
pure virtual |
Implemented in ClTensorHandleFactory, NeonTensorHandleFactory, and RefTensorHandleFactory.
Referenced by ITensorHandleFactory::CreateTensorHandle().
|
inlinevirtual |
Reimplemented in ClTensorHandleFactory, NeonTensorHandleFactory, and RefTensorHandleFactory.
Definition at line 61 of file ITensorHandleFactory.hpp.
Referenced by armnn::CalculateEdgeStrategy(), armnn::CalculateSlotOptionForInput(), and armnn::RequiresCopy().
|
inlinefinalvirtual |
Definition at line 58 of file ITensorHandleFactory.hpp.
Referenced by armnn::CalculateEdgeStrategy(), armnn::CalculateSlotOption(), and armnn::CalculateSlotOptionForInput().
|
pure virtual |
Implemented in ClTensorHandleFactory, NeonTensorHandleFactory, and RefTensorHandleFactory.
Referenced by ITensorHandleFactory::CreateTensorHandle().
|
static |
Use the workload factory to create the tensor handle.
Definition at line 23 of file ITensorHandleFactory.hpp.
Referenced by armnn::CalculateSlotOptionForOutput().
|
static |
Definition at line 22 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().