aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/layers
diff options
context:
space:
mode:
authorNattapat Chaimanowong <nattapat.chaimanowong@arm.com>2018-11-28 10:44:37 +0000
committerMatthew Bentham <matthew.bentham@arm.com>2018-11-28 13:57:58 +0000
commit5a4304a09fcbfd5fab4c73e5fd0d4cc9f3170395 (patch)
treec48ca6e33adec68612a90d19c734c2c085807493 /src/armnn/layers
parent831faedd5d2f6306b23202fa4e450c6d241a44a0 (diff)
downloadarmnn-5a4304a09fcbfd5fab4c73e5fd0d4cc9f3170395.tar.gz
IVGCVSW-2253 Add maximum layer and corresponding no-op factory implementation
Change-Id: I8964f5e8978c2d2a07734a381e3f7c656c22456a
Diffstat (limited to 'src/armnn/layers')
-rw-r--r--src/armnn/layers/MaximumLayer.cpp32
-rw-r--r--src/armnn/layers/MaximumLayer.hpp26
2 files changed, 58 insertions, 0 deletions
diff --git a/src/armnn/layers/MaximumLayer.cpp b/src/armnn/layers/MaximumLayer.cpp
new file mode 100644
index 0000000000..67a234216c
--- /dev/null
+++ b/src/armnn/layers/MaximumLayer.cpp
@@ -0,0 +1,32 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#include "MaximumLayer.hpp"
+
+#include "LayerCloneBase.hpp"
+
+#include <backendsCommon/WorkloadData.hpp>
+#include <backendsCommon/WorkloadFactory.hpp>
+
+namespace armnn
+{
+
+MaximumLayer::MaximumLayer(const char* name)
+: ArithmeticBaseLayer(2, 1, LayerType::Maximum, name)
+{}
+
+std::unique_ptr<IWorkload> MaximumLayer::CreateWorkload(const Graph& graph,
+ const IWorkloadFactory& factory) const
+{
+ MaximumQueueDescriptor descriptor;
+ return factory.CreateMaximum(descriptor, PrepInfoAndDesc(descriptor, graph));
+}
+
+MaximumLayer* MaximumLayer::Clone(Graph& graph) const
+{
+ return CloneBase<MaximumLayer>(graph, GetName());
+}
+
+} // namespace armnn
diff --git a/src/armnn/layers/MaximumLayer.hpp b/src/armnn/layers/MaximumLayer.hpp
new file mode 100644
index 0000000000..da4c3ed18c
--- /dev/null
+++ b/src/armnn/layers/MaximumLayer.hpp
@@ -0,0 +1,26 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+#pragma once
+
+#include "ArithmeticBaseLayer.hpp"
+
+namespace armnn
+{
+
+class MaximumLayer : public ArithmeticBaseLayer
+{
+public:
+ virtual std::unique_ptr<IWorkload> CreateWorkload(const Graph& graph,
+ const IWorkloadFactory& factory) const override;
+
+ MaximumLayer* Clone(Graph& graph) const override;
+
+protected:
+ MaximumLayer(const char* name);
+
+ ~MaximumLayer() = default;
+};
+
+} // namespace