ArmNN  NotReleased
ITensorHandleFactory Class Referenceabstract

#include <ITensorHandleFactory.hpp>

Inheritance diagram for ITensorHandleFactory:
ClTensorHandleFactory NeonTensorHandleFactory RefTensorHandleFactory

Public Types

using FactoryId = std::string
 

Public Member Functions

virtual ~ITensorHandleFactory ()
 
virtual std::unique_ptr< ITensorHandleCreateSubTensorHandle (ITensorHandle &parent, TensorShape const &subTensorShape, unsigned int const *subTensorOrigin) const =0
 
virtual std::unique_ptr< ITensorHandleCreateTensorHandle (const TensorInfo &tensorInfo) const =0
 
virtual std::unique_ptr< ITensorHandleCreateTensorHandle (const TensorInfo &tensorInfo, DataLayout dataLayout) const =0
 
virtual std::unique_ptr< ITensorHandleCreateTensorHandle (const TensorInfo &tensorInfo, const bool IsMemoryManaged) const
 
virtual std::unique_ptr< ITensorHandleCreateTensorHandle (const TensorInfo &tensorInfo, DataLayout dataLayout, const bool IsMemoryManaged) const
 
virtual const FactoryIdGetId () 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"
 

Detailed Description

Definition at line 18 of file ITensorHandleFactory.hpp.

Member Typedef Documentation

◆ FactoryId

using FactoryId = std::string

Definition at line 21 of file ITensorHandleFactory.hpp.

Constructor & Destructor Documentation

◆ ~ITensorHandleFactory()

Member Function Documentation

◆ CreateSubTensorHandle()

virtual std::unique_ptr<ITensorHandle> CreateSubTensorHandle ( ITensorHandle parent,
TensorShape const &  subTensorShape,
unsigned int const *  subTensorOrigin 
) const
pure virtual

◆ CreateTensorHandle() [1/4]

◆ CreateTensorHandle() [2/4]

virtual std::unique_ptr<ITensorHandle> CreateTensorHandle ( const TensorInfo tensorInfo,
DataLayout  dataLayout 
) const
pure virtual

◆ CreateTensorHandle() [3/4]

virtual std::unique_ptr<ITensorHandle> CreateTensorHandle ( const TensorInfo tensorInfo,
const bool  IsMemoryManaged 
) const
inlinevirtual

Reimplemented in ClTensorHandleFactory, and NeonTensorHandleFactory.

Definition at line 39 of file ITensorHandleFactory.hpp.

References ITensorHandleFactory::CreateTensorHandle().

41  {
42  boost::ignore_unused(IsMemoryManaged);
43  return CreateTensorHandle(tensorInfo);
44  }
virtual std::unique_ptr< ITensorHandle > CreateTensorHandle(const TensorInfo &tensorInfo) const =0

◆ CreateTensorHandle() [4/4]

virtual std::unique_ptr<ITensorHandle> CreateTensorHandle ( const TensorInfo tensorInfo,
DataLayout  dataLayout,
const bool  IsMemoryManaged 
) const
inlinevirtual

Reimplemented in ClTensorHandleFactory, and NeonTensorHandleFactory.

Definition at line 46 of file ITensorHandleFactory.hpp.

References ITensorHandleFactory::CreateTensorHandle(), ITensorHandleFactory::GetId(), and ITensorHandleFactory::SupportsSubTensors().

49  {
50  boost::ignore_unused(IsMemoryManaged);
51  return CreateTensorHandle(tensorInfo, dataLayout);
52  }
virtual std::unique_ptr< ITensorHandle > CreateTensorHandle(const TensorInfo &tensorInfo) const =0

◆ GetExportFlags()

virtual MemorySourceFlags GetExportFlags ( ) const
inlinevirtual

Reimplemented in ClTensorHandleFactory, NeonTensorHandleFactory, and RefTensorHandleFactory.

Definition at line 60 of file ITensorHandleFactory.hpp.

Referenced by armnn::CalculateEdgeStrategy(), and armnn::RequiresCopy().

60 { return 0; }

◆ GetId()

virtual const FactoryId& GetId ( ) const
pure virtual

◆ GetImportFlags()

virtual MemorySourceFlags GetImportFlags ( ) const
inlinevirtual

◆ SupportsMapUnmap()

virtual bool SupportsMapUnmap ( ) const
inlinefinalvirtual

◆ SupportsSubTensors()

virtual bool SupportsSubTensors ( ) const
pure virtual

Member Data Documentation

◆ DeferredFactoryId

const ITensorHandleFactory::FactoryId DeferredFactoryId = "armnn_deferred_factory"
static

Definition at line 23 of file ITensorHandleFactory.hpp.

Referenced by armnn::CalculateSlotOptionForOutput().

◆ LegacyFactoryId


The documentation for this class was generated from the following files: