diff options
author | Nattapat Chaimanowong <nattapat.chaimanowong@arm.com> | 2018-11-28 10:44:37 +0000 |
---|---|---|
committer | Matthew Bentham <matthew.bentham@arm.com> | 2018-11-28 13:57:58 +0000 |
commit | 5a4304a09fcbfd5fab4c73e5fd0d4cc9f3170395 (patch) | |
tree | c48ca6e33adec68612a90d19c734c2c085807493 /src/armnn/layers | |
parent | 831faedd5d2f6306b23202fa4e450c6d241a44a0 (diff) | |
download | armnn-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.cpp | 32 | ||||
-rw-r--r-- | src/armnn/layers/MaximumLayer.hpp | 26 |
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 |