ArmNN
 24.02
TensorHandle Class Reference

#include <TensorHandle.hpp>

Inheritance diagram for TensorHandle:
[legend]
Collaboration diagram for TensorHandle:
[legend]

Public Member Functions

template<typename T >
T * GetTensor () const
 
template<>
void * GetTensor () const
 
template<>
void * GetTensor () const
 
- Public Member Functions inherited from ConstTensorHandle
template<typename T >
const T * GetConstTensor () const
 
const TensorInfoGetTensorInfo () const
 
virtual void Manage () override
 Indicate to the memory manager that this resource is active. More...
 
virtual ITensorHandleGetParent () const override
 Get the parent tensor if this is a subtensor. More...
 
virtual const void * Map (bool) const override
 Map the tensor data for access. More...
 
virtual void Unmap () const override
 Unmap the tensor data. More...
 
TensorShape GetStrides () const override
 Get the strides for each dimension ordered from largest to smallest where the smallest value is the same as the size of a single element in the tensor. More...
 
TensorShape GetShape () const override
 Get the number of elements for each dimension ordered from slowest iterating dimension to fastest iterating dimension. More...
 
template<>
const void * GetConstTensor () const
 
template<>
const void * GetConstTensor () const
 
- Public Member Functions inherited from ITensorHandle
virtual ~ITensorHandle ()
 
virtual void Allocate ()=0
 Indicate to the memory manager that this resource is no longer active. More...
 
void * Map (bool blocking=true)
 Map the tensor data for access. More...
 
void Unmap ()
 Unmap the tensor data that was previously mapped with call to Map(). More...
 
virtual unsigned int GetImportFlags () const
 Get flags describing supported import sources. More...
 
virtual bool Import (void *memory, MemorySource source)
 Import externally allocated memory. More...
 
virtual bool CanBeImported (void *memory, MemorySource source)
 Implementations must determine if this memory block can be imported. More...
 
virtual void Unimport ()
 Unimport externally allocated memory. More...
 
virtual std::shared_ptr< ITensorHandleDecorateTensorHandle (const TensorInfo &tensorInfo)
 Returns a decorated version of this TensorHandle allowing us to override the TensorInfo for it. More...
 

Protected Member Functions

 TensorHandle (const TensorInfo &tensorInfo)
 
void SetMemory (void *mem)
 
- Protected Member Functions inherited from ConstTensorHandle
 ConstTensorHandle (const TensorInfo &tensorInfo)
 
void SetConstMemory (const void *mem)
 

Detailed Description

Definition at line 79 of file TensorHandle.hpp.

Constructor & Destructor Documentation

◆ TensorHandle()

TensorHandle ( const TensorInfo tensorInfo)
protected

Definition at line 43 of file TensorHandle.cpp.

44 : ConstTensorHandle(tensorInfo)
45 , m_MutableMemory(nullptr)
46 {
47 }

Member Function Documentation

◆ GetTensor() [1/3]

void* GetTensor ( ) const

Definition at line 50 of file TensorHandle.cpp.

51 {
52  return m_MutableMemory;
53 }

◆ GetTensor() [2/3]

T* GetTensor ( ) const
inline

Definition at line 83 of file TensorHandle.hpp.

84  {
85  if (armnnUtils::CompatibleTypes<T>(GetTensorInfo().GetDataType()))
86  {
87  return reinterpret_cast<T*>(m_MutableMemory);
88  }
89  else
90  {
91  throw armnn::Exception("Attempting to get not compatible type tensor!");
92  }
93  }

References ConstTensorHandle::GetTensorInfo().

◆ GetTensor() [3/3]

void * GetTensor ( ) const

◆ SetMemory()

void SetMemory ( void *  mem)
inlineprotected

Definition at line 98 of file TensorHandle.hpp.

99  {
100  m_MutableMemory = mem;
101  SetConstMemory(m_MutableMemory);
102  }

References ConstTensorHandle::SetConstMemory().

Referenced by ScopedTensorHandle::Allocate(), ScopedTensorHandle::operator=(), and PassthroughTensorHandle::PassthroughTensorHandle().


The documentation for this class was generated from the following files:
armnn::ConstTensorHandle::GetTensorInfo
const TensorInfo & GetTensorInfo() const
Definition: TensorHandle.hpp:40
armnn::Exception
Base class for all ArmNN exceptions so that users can filter to just those.
Definition: Exceptions.hpp:46
armnn::ConstTensorHandle::ConstTensorHandle
ConstTensorHandle(const TensorInfo &tensorInfo)
Definition: TensorHandle.cpp:31
armnn::ConstTensorHandle::SetConstMemory
void SetConstMemory(const void *mem)
Definition: TensorHandle.hpp:61