From 2099595bac339c953bf4291be12703c8845e916e Mon Sep 17 00:00:00 2001 From: FrancisMurtagh Date: Mon, 17 Dec 2018 12:11:36 +0000 Subject: IVGCVSW-2398 Add no-op factory implementations for all backends for the Equal operation * Add QueueDescriptor in WorkloadData.hpp * Add CreateEqual function in WorkloadFactory.hpp * Added stub implementation of the CreateEqual function in RefWorkloadFactory, NeonWorkloadFactory and ClWorkloadFactory Change-Id: Iec6dc2f989c67fa6f0c32cfb93508995c8580783 --- src/armnn/layers/EqualLayer.cpp | 34 ++++++++++++++++++++++++++++++++++ src/armnn/layers/EqualLayer.hpp | 26 ++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 src/armnn/layers/EqualLayer.cpp create mode 100644 src/armnn/layers/EqualLayer.hpp (limited to 'src/armnn/layers') diff --git a/src/armnn/layers/EqualLayer.cpp b/src/armnn/layers/EqualLayer.cpp new file mode 100644 index 0000000000..e0d2e65309 --- /dev/null +++ b/src/armnn/layers/EqualLayer.cpp @@ -0,0 +1,34 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#include "EqualLayer.hpp" + +#include "LayerCloneBase.hpp" + +#include +#include +#include + +namespace armnn +{ + +EqualLayer::EqualLayer(const char* name) + : ElementwiseBaseLayer(2, 1, LayerType::Equal, name) +{ +} + +std::unique_ptr EqualLayer::CreateWorkload(const Graph& graph, + const IWorkloadFactory& factory) const +{ + EqualQueueDescriptor descriptor; + return factory.CreateEqual(descriptor, PrepInfoAndDesc(descriptor, graph)); +} + +EqualLayer* EqualLayer::Clone(Graph& graph) const +{ + return CloneBase(graph, GetName()); +} + +} // namespace armnn diff --git a/src/armnn/layers/EqualLayer.hpp b/src/armnn/layers/EqualLayer.hpp new file mode 100644 index 0000000000..956ae3c1ab --- /dev/null +++ b/src/armnn/layers/EqualLayer.hpp @@ -0,0 +1,26 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#pragma once + +#include "ElementwiseBaseLayer.hpp" + +namespace armnn +{ + +class EqualLayer : public ElementwiseBaseLayer +{ +public: + virtual std::unique_ptr CreateWorkload(const Graph& graph, + const IWorkloadFactory& factory) const override; + + EqualLayer* Clone(Graph& graph) const override; + +protected: + EqualLayer(const char* name); + ~EqualLayer() = default; +}; + +} //namespace armnn -- cgit v1.2.1