14 namespace experimental
19 std::vector<WorkingMemDescriptor> workingMemDescriptors,
20 std::unordered_map<LayerGuid, WorkingMemDescriptor> workingMemDescriptorMap,
21 std::vector<std::shared_ptr<IMemoryManager>> memoryManagers,
22 std::unordered_map<
LayerGuid, std::vector<std::unique_ptr<ITensorHandle> > > ownedTensorHandles) :
23 m_NetworkId(networkId),
24 m_WorkingMemDescriptors(workingMemDescriptors),
25 m_WorkingMemDescriptorMap(workingMemDescriptorMap),
26 m_MemoryManagers(memoryManagers),
27 m_OwnedTensorHandles(
std::move(ownedTensorHandles)),
42 for (
auto& mgr : m_MemoryManagers)
54 m_IsAllocated =
false;
56 for (
auto& mgr : m_MemoryManagers)
Copyright (c) 2021 ARM Limited and Contributors.
void Allocate() override
Allocate the backing memory required for execution.
WorkingMemHandle(NetworkId networkId, std::vector< WorkingMemDescriptor > workingMemDescriptors, std::unordered_map< LayerGuid, WorkingMemDescriptor > workingMemDescriptorMap, std::vector< std::shared_ptr< IMemoryManager >> memoryManagers, std::unordered_map< LayerGuid, std::vector< std::unique_ptr< ITensorHandle > > > ownedTensorHandles)
void Free() override
Free the backing memory required for execution. The mutex must be locked.