aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/WorkingMemHandle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/armnn/WorkingMemHandle.cpp')
-rw-r--r--src/armnn/WorkingMemHandle.cpp49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/armnn/WorkingMemHandle.cpp b/src/armnn/WorkingMemHandle.cpp
new file mode 100644
index 0000000000..7a901b296b
--- /dev/null
+++ b/src/armnn/WorkingMemHandle.cpp
@@ -0,0 +1,49 @@
+//
+// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#include "backendsCommon/CpuTensorHandle.hpp"
+#include "WorkingMemHandle.hpp"
+#include "Network.hpp"
+
+namespace armnn
+{
+
+namespace experimental
+{
+
+WorkingMemHandle::WorkingMemHandle(std::vector<WorkingMemDescriptor> workingMemDescriptors,
+ std::unordered_map<LayerGuid, WorkingMemDescriptor> workingMemDescriptorMap) :
+ m_WorkingMemDescriptors(workingMemDescriptors),
+ m_WorkingMemDescriptorMap(workingMemDescriptorMap),
+ m_IsAllocated(false),
+ m_Mutex()
+{}
+
+void WorkingMemHandle::FreeWorkingMemory()
+{
+ for (auto workingMemDescriptor : m_WorkingMemDescriptors)
+ {
+ for (auto input : workingMemDescriptor.m_Inputs)
+ {
+ if (input)
+ {
+ delete input;
+ input = nullptr;
+ }
+ }
+ for (auto output : workingMemDescriptor.m_Outputs)
+ {
+ if (output)
+ {
+ delete output;
+ output = nullptr;
+ }
+ }
+ }
+}
+
+} // end experimental namespace
+
+} // end armnn namespace