aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/backends/OutputHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/armnn/backends/OutputHandler.cpp')
-rw-r--r--src/armnn/backends/OutputHandler.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/armnn/backends/OutputHandler.cpp b/src/armnn/backends/OutputHandler.cpp
new file mode 100644
index 0000000000..54afe565a9
--- /dev/null
+++ b/src/armnn/backends/OutputHandler.cpp
@@ -0,0 +1,41 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// See LICENSE file in the project root for full license information.
+//
+#include "OutputHandler.hpp"
+
+#include <boost/assert.hpp>
+#include <boost/log/trivial.hpp>
+
+#include "backends/WorkloadFactory.hpp"
+#include "backends/WorkloadDataCollector.hpp"
+#include "backends/ITensorHandle.hpp"
+
+namespace armnn
+{
+
+void OutputHandler::SetTensorInfo(const TensorInfo& tensorInfo)
+{
+ m_TensorInfo = tensorInfo;
+ m_bTensorInfoSet = true;
+}
+
+void OutputHandler::CreateTensorHandles(const IWorkloadFactory& factory)
+{
+ m_TensorHandle = factory.CreateTensorHandle(m_TensorInfo);
+}
+
+void OutputHandler::CollectWorkloadOutputs(WorkloadDataCollector& dataCollector) const
+{
+ dataCollector.Push(m_TensorHandle.get(), m_TensorInfo);
+}
+
+void OutputHandler::AllocateTensors()
+{
+ if (m_TensorHandle)
+ {
+ m_TensorHandle->Allocate();
+ }
+}
+
+} // namespace armnn