aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/layers
diff options
context:
space:
mode:
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