21.11
|
#include <WorkingMemHandle.hpp>
Classes | |
struct | InputMemDescriptorCoords |
struct | OutputMemDescriptorCoords |
Public Member Functions | |
WorkingMemHandle (NetworkId networkId) | |
WorkingMemHandle (NetworkId networkId, std::vector< InputMemDescriptorCoords > inputLayerInfo, std::vector< OutputMemDescriptorCoords > outputLayerInfo, std::vector< WorkingMemDescriptor > workingMemDescriptors, std::unordered_map< LayerGuid, WorkingMemDescriptor > workingMemDescriptorMap, std::unique_ptr< MemoryManager > memoryManager, std::vector< std::pair< std::shared_ptr< TensorMemory >, MemorySource >> tensorMemory, std::vector< std::unique_ptr< ITensorHandle >> managedTensorHandles, std::vector< std::unique_ptr< ITensorHandle >> unmanagedTensorHandles) | |
~WorkingMemHandle () | |
NetworkId | GetNetworkId () override |
Returns the NetworkId of the Network that this IWorkingMemHandle works with. More... | |
void | Allocate () override |
Allocate the backing memory required for execution. More... | |
void | Free () override |
Free the backing memory required for execution. More... | |
bool | IsAllocated () override |
IsAllocated returns true if the backing memory is currently allocated. More... | |
WorkingMemDescriptor & | GetWorkingMemDescriptor (LayerGuid id) override |
Get the WorkingMemDescriptor for a Layer. More... | |
WorkingMemDescriptor & | GetWorkingMemDescriptorAt (unsigned int id) override |
Get the WorkingMemDescriptor at an index. More... | |
ITensorHandle * | GetInputHandle (LayerBindingId layerBindingId) const |
ITensorHandle * | GetOutputHandle (LayerBindingId layerBindingId) const |
const std::vector< std::vector< ITensorHandle * >::iterator > & | GetInputConnections (LayerBindingId layerBindingId) const |
const std::vector< std::vector< ITensorHandle * >::iterator > & | GetOutputConnection (LayerBindingId layerBindingId) const |
void | MemSyncOutputs () |
std::vector< LayerBindingId > & | GetBindingIdVector () |
void | ValidateBindingIds () |
Public Member Functions inherited from IWorkingMemHandle | |
virtual | ~IWorkingMemHandle () |
Definition at line 26 of file WorkingMemHandle.hpp.
|
inline |
Definition at line 45 of file WorkingMemHandle.hpp.
WorkingMemHandle | ( | NetworkId | networkId, |
std::vector< InputMemDescriptorCoords > | inputLayerInfo, | ||
std::vector< OutputMemDescriptorCoords > | outputLayerInfo, | ||
std::vector< WorkingMemDescriptor > | workingMemDescriptors, | ||
std::unordered_map< LayerGuid, WorkingMemDescriptor > | workingMemDescriptorMap, | ||
std::unique_ptr< MemoryManager > | memoryManager, | ||
std::vector< std::pair< std::shared_ptr< TensorMemory >, MemorySource >> | tensorMemory, | ||
std::vector< std::unique_ptr< ITensorHandle >> | managedTensorHandles, | ||
std::vector< std::unique_ptr< ITensorHandle >> | unmanagedTensorHandles | ||
) |
Definition at line 18 of file WorkingMemHandle.cpp.
References armnn::IgnoreUnused(), WorkingMemDescriptor::m_Inputs, and armnn::numeric_cast().
|
inline |
Definition at line 57 of file WorkingMemHandle.hpp.
References WorkingMemHandle::Free().
|
overridevirtual |
Allocate the backing memory required for execution.
If this is not called, then allocation will be deferred to execution time.
Implements IWorkingMemHandle.
Definition at line 98 of file WorkingMemHandle.cpp.
Referenced by LoadedNetwork::Execute(), and WorkingMemHandle::GetNetworkId().
|
overridevirtual |
Free the backing memory required for execution.
Implements IWorkingMemHandle.
Definition at line 114 of file WorkingMemHandle.cpp.
Referenced by WorkingMemHandle::GetNetworkId(), and WorkingMemHandle::~WorkingMemHandle().
|
inline |
Definition at line 115 of file WorkingMemHandle.hpp.
References WorkingMemHandle::ValidateBindingIds().
Referenced by LoadedNetwork::Execute().
|
inline |
Definition at line 103 of file WorkingMemHandle.hpp.
Referenced by LoadedNetwork::Execute().
|
inline |
Definition at line 93 of file WorkingMemHandle.hpp.
Referenced by LoadedNetwork::Execute().
|
inlineoverridevirtual |
Returns the NetworkId of the Network that this IWorkingMemHandle works with.
Implements IWorkingMemHandle.
Definition at line 60 of file WorkingMemHandle.hpp.
References WorkingMemHandle::Allocate(), and WorkingMemHandle::Free().
|
inline |
Definition at line 108 of file WorkingMemHandle.hpp.
References WorkingMemHandle::MemSyncOutputs().
Referenced by LoadedNetwork::Execute().
|
inline |
Definition at line 98 of file WorkingMemHandle.hpp.
Referenced by LoadedNetwork::Execute().
|
inlineoverridevirtual |
Get the WorkingMemDescriptor for a Layer.
Implements IWorkingMemHandle.
Definition at line 79 of file WorkingMemHandle.hpp.
References ARMNN_ASSERT.
|
inlineoverridevirtual |
Get the WorkingMemDescriptor at an index.
The WorkingMemDescriptors are stored in the same order as the Workloads in a topologically sorted graph.
Implements IWorkingMemHandle.
Definition at line 88 of file WorkingMemHandle.hpp.
Referenced by LoadedNetwork::Execute().
|
inlineoverridevirtual |
IsAllocated returns true if the backing memory is currently allocated.
Implements IWorkingMemHandle.
Definition at line 73 of file WorkingMemHandle.hpp.
Referenced by LoadedNetwork::Execute().
void MemSyncOutputs | ( | ) |
Definition at line 125 of file WorkingMemHandle.cpp.
References armnn::Map, and armnn::Unmap.
Referenced by LoadedNetwork::Execute(), and WorkingMemHandle::GetOutputConnection().
void ValidateBindingIds | ( | ) |
Definition at line 134 of file WorkingMemHandle.cpp.
Referenced by LoadedNetwork::Execute(), and WorkingMemHandle::GetBindingIdVector().