24.02
|
#include <RefTensorHandle.hpp>
Public Member Functions | |
RefTensorHandle (const TensorInfo &tensorInfo, std::shared_ptr< RefMemoryManager > &memoryManager) | |
RefTensorHandle (const TensorInfo &tensorInfo) | |
RefTensorHandle (const TensorInfo &tensorInfo, const RefTensorHandle &parent) | |
~RefTensorHandle () | |
virtual void | Manage () override |
Indicate to the memory manager that this resource is active. More... | |
virtual void | Allocate () override |
Indicate to the memory manager that this resource is no longer active. More... | |
virtual ITensorHandle * | GetParent () 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... | |
const TensorInfo & | GetTensorInfo () const |
virtual MemorySourceFlags | GetImportFlags () const override |
Get flags describing supported import sources. More... | |
virtual bool | Import (void *memory, MemorySource source) override |
Import externally allocated memory. More... | |
virtual bool | CanBeImported (void *memory, MemorySource source) override |
Implementations must determine if this memory block can be imported. More... | |
virtual std::shared_ptr< ITensorHandle > | DecorateTensorHandle (const TensorInfo &tensorInfo) override |
Returns a decorated version of this TensorHandle allowing us to override the TensorInfo for it. More... | |
virtual const void * | Map (bool blocking=true) const=0 |
Map the tensor data for access. More... | |
void * | Map (bool blocking=true) |
Map the tensor data for access. More... | |
Public Member Functions inherited from ITensorHandle | |
virtual | ~ITensorHandle () |
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 void | Unimport () |
Unimport externally allocated memory. More... | |
Definition at line 17 of file RefTensorHandle.hpp.
RefTensorHandle | ( | const TensorInfo & | tensorInfo, |
std::shared_ptr< RefMemoryManager > & | memoryManager | ||
) |
Definition at line 11 of file RefTensorHandle.cpp.
RefTensorHandle | ( | const TensorInfo & | tensorInfo | ) |
Definition at line 21 of file RefTensorHandle.cpp.
RefTensorHandle | ( | const TensorInfo & | tensorInfo, |
const RefTensorHandle & | parent | ||
) |
Definition at line 30 of file RefTensorHandle.cpp.
~RefTensorHandle | ( | ) |
Definition at line 40 of file RefTensorHandle.cpp.
|
overridevirtual |
Indicate to the memory manager that this resource is no longer active.
This is used to compute overlapping lifetimes of resources.
Implements ITensorHandle.
Reimplemented in RefTensorHandleDecorator.
Definition at line 56 of file RefTensorHandle.cpp.
References TensorInfo::GetNumBytes().
|
overridevirtual |
Implementations must determine if this memory block can be imported.
This might be based on alignment or memory source type.
Reimplemented from ITensorHandle.
Reimplemented in RefTensorHandleDecorator.
Definition at line 153 of file RefTensorHandle.cpp.
References TensorInfo::GetDataType(), armnn::GetDataTypeSize(), and armnn::Malloc.
Referenced by RefTensorHandle::Import().
|
overridevirtual |
Returns a decorated version of this TensorHandle allowing us to override the TensorInfo for it.
tensorInfo | the overidden TensorInfo. |
Reimplemented from ITensorHandle.
Reimplemented in RefTensorHandleDecorator.
Definition at line 167 of file RefTensorHandle.cpp.
|
overridevirtual |
Get flags describing supported import sources.
Reimplemented from ITensorHandle.
Reimplemented in RefTensorHandleDecorator.
Definition at line 130 of file RefTensorHandle.cpp.
References armnn::Malloc.
|
inlineoverridevirtual |
Get the parent tensor if this is a subtensor.
Implements ITensorHandle.
Reimplemented in RefTensorHandleDecorator.
Definition at line 32 of file RefTensorHandle.hpp.
|
inlineoverridevirtual |
Get the number of elements for each dimension ordered from slowest iterating dimension to fastest iterating dimension.
Implements ITensorHandle.
Reimplemented in RefTensorHandleDecorator.
Definition at line 48 of file RefTensorHandle.hpp.
References TensorInfo::GetShape().
|
inlineoverridevirtual |
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.
Implements ITensorHandle.
Reimplemented in RefTensorHandleDecorator.
Definition at line 43 of file RefTensorHandle.hpp.
References armnn::GetUnpaddedTensorStrides().
|
inline |
Definition at line 53 of file RefTensorHandle.hpp.
|
overridevirtual |
Import externally allocated memory.
memory | base address of the memory being imported. |
source | source of the allocation for the memory being imported. |
Reimplemented from ITensorHandle.
Reimplemented in RefTensorHandleDecorator.
Definition at line 135 of file RefTensorHandle.cpp.
References RefTensorHandle::CanBeImported(), and armnn::Malloc.
|
overridevirtual |
Indicate to the memory manager that this resource is active.
This is used to compute overlapping lifetimes of resources.
Implements ITensorHandle.
Reimplemented in RefTensorHandleDecorator.
Definition at line 45 of file RefTensorHandle.cpp.
References ARMNN_ASSERT_MSG, and TensorInfo::GetNumBytes().
|
inline |
Map the tensor data for access.
Must be paired with call to Unmap().
blocking | hint to block the calling thread until all other accesses are complete. (backend dependent) |
Definition at line 44 of file ITensorHandle.hpp.
virtual const void* Map |
Map the tensor data for access.
blocking | hint to block the calling thread until all other accesses are complete. (backend dependent) |
|
overridevirtual |
Map the tensor data for access.
blocking | hint to block the calling thread until all other accesses are complete. (backend dependent) |
Implements ITensorHandle.
Reimplemented in RefTensorHandleDecorator.
Definition at line 77 of file RefTensorHandle.cpp.
Referenced by RefTensorHandleDecorator::Map().
|
inlineoverridevirtual |
Unmap the tensor data.
Implements ITensorHandle.
Reimplemented in RefTensorHandleDecorator.
Definition at line 40 of file RefTensorHandle.hpp.