aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/layers
diff options
context:
space:
mode:
authorkevmay01 <kevin.may@arm.com>2018-11-29 08:40:19 +0000
committerkevmay01 <kevin.may@arm.com>2018-11-29 08:40:19 +0000
commit90539697433b507e20cf0d56f6c7f18614e03973 (patch)
tree604fb0d27451fbc8a212a78a5a83b54a474db8ad /src/armnn/layers
parentd57415d9a2117da9cc5c58f8b5e39ba7455417d1 (diff)
downloadarmnn-90539697433b507e20cf0d56f6c7f18614e03973.tar.gz
IVGCVSW-2245 Add Minimum Layer and no-op Factory implementation
Change-Id: I03fa374fd9692d98257de709f8c3ad0a49c88b95
Diffstat (limited to 'src/armnn/layers')
-rw-r--r--src/armnn/layers/MinimumLayer.cpp33
-rw-r--r--src/armnn/layers/MinimumLayer.hpp27
2 files changed, 60 insertions, 0 deletions
diff --git a/src/armnn/layers/MinimumLayer.cpp b/src/armnn/layers/MinimumLayer.cpp
new file mode 100644
index 0000000000..11f60ebcb1
--- /dev/null
+++ b/src/armnn/layers/MinimumLayer.cpp
@@ -0,0 +1,33 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+#include "MinimumLayer.hpp"
+
+#include "LayerCloneBase.hpp"
+
+#include <armnn/TypesUtils.hpp>
+#include <backendsCommon/WorkloadData.hpp>
+#include <backendsCommon/WorkloadFactory.hpp>
+
+namespace armnn
+{
+
+MinimumLayer::MinimumLayer(const char* name)
+ : ArithmeticBaseLayer(2, 1, LayerType::Minimum, name)
+{
+}
+
+std::unique_ptr<IWorkload> MinimumLayer::CreateWorkload(const Graph& graph,
+ const IWorkloadFactory& factory) const
+{
+ MinimumQueueDescriptor descriptor;
+ return factory.CreateMinimum(descriptor, PrepInfoAndDesc(descriptor, graph));
+}
+
+MinimumLayer* MinimumLayer::Clone(Graph& graph) const
+{
+ return CloneBase<MinimumLayer>(graph, GetName());
+}
+
+} // namespace armnn
diff --git a/src/armnn/layers/MinimumLayer.hpp b/src/armnn/layers/MinimumLayer.hpp
new file mode 100644
index 0000000000..cd8a1688cf
--- /dev/null
+++ b/src/armnn/layers/MinimumLayer.hpp
@@ -0,0 +1,27 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include "ArithmeticBaseLayer.hpp"
+
+namespace armnn
+{
+
+class MinimumLayer : public ArithmeticBaseLayer
+{
+public:
+ virtual std::unique_ptr<IWorkload> CreateWorkload(const Graph& graph,
+ const IWorkloadFactory& factory) const override;
+
+ MinimumLayer* Clone(Graph& graph) const override;
+
+protected:
+ MinimumLayer(const char* name);
+ ~MinimumLayer() = default;
+
+};
+
+} \ No newline at end of file