From f3eb46d23c6001150d36d80acac7ad1247174630 Mon Sep 17 00:00:00 2001 From: Nattapat Chaimanowong Date: Fri, 12 Oct 2018 13:54:09 +0100 Subject: IVGCVSW-1951 Remove type templating from NeonMergerWorkload Change-Id: I284a9aa6865cdbd6975c54b011d2cec15a174e79 --- src/backends/neon/NeonWorkloadFactory.cpp | 2 +- src/backends/neon/backend.mk | 2 -- src/backends/neon/test/NeonCreateWorkloadTests.cpp | 2 +- src/backends/neon/workloads/CMakeLists.txt | 6 +---- .../neon/workloads/NeonBaseMergerWorkload.hpp | 26 ---------------------- .../neon/workloads/NeonMergerFloatWorkload.cpp | 17 -------------- .../neon/workloads/NeonMergerFloatWorkload.hpp | 20 ----------------- .../neon/workloads/NeonMergerUint8Workload.cpp | 17 -------------- .../neon/workloads/NeonMergerUint8Workload.hpp | 20 ----------------- src/backends/neon/workloads/NeonMergerWorkload.hpp | 23 +++++++++++++++++++ src/backends/neon/workloads/NeonWorkloads.hpp | 4 +--- 11 files changed, 27 insertions(+), 112 deletions(-) delete mode 100644 src/backends/neon/workloads/NeonBaseMergerWorkload.hpp delete mode 100644 src/backends/neon/workloads/NeonMergerFloatWorkload.cpp delete mode 100644 src/backends/neon/workloads/NeonMergerFloatWorkload.hpp delete mode 100644 src/backends/neon/workloads/NeonMergerUint8Workload.cpp delete mode 100644 src/backends/neon/workloads/NeonMergerUint8Workload.hpp create mode 100644 src/backends/neon/workloads/NeonMergerWorkload.hpp diff --git a/src/backends/neon/NeonWorkloadFactory.cpp b/src/backends/neon/NeonWorkloadFactory.cpp index f17c80edbb..8202afa7c7 100644 --- a/src/backends/neon/NeonWorkloadFactory.cpp +++ b/src/backends/neon/NeonWorkloadFactory.cpp @@ -110,7 +110,7 @@ std::unique_ptr NeonWorkloadFactory::CreateSplitter(const SplitterQue std::unique_ptr NeonWorkloadFactory::CreateMerger(const MergerQueueDescriptor& descriptor, const WorkloadInfo& info) const { - return MakeWorkload(descriptor, info); + return std::make_unique(descriptor, info); } std::unique_ptr NeonWorkloadFactory::CreateFullyConnected( diff --git a/src/backends/neon/backend.mk b/src/backends/neon/backend.mk index f3c1843a9c..709497eda0 100644 --- a/src/backends/neon/backend.mk +++ b/src/backends/neon/backend.mk @@ -28,8 +28,6 @@ BACKEND_SOURCES := \ workloads/NeonFullyConnectedWorkload.cpp \ workloads/NeonL2NormalizationFloatWorkload.cpp \ workloads/NeonLstmFloatWorkload.cpp \ - workloads/NeonMergerFloatWorkload.cpp \ - workloads/NeonMergerUint8Workload.cpp \ workloads/NeonMultiplicationFloatWorkload.cpp \ workloads/NeonNormalizationFloatWorkload.cpp \ workloads/NeonPermuteWorkload.cpp \ diff --git a/src/backends/neon/test/NeonCreateWorkloadTests.cpp b/src/backends/neon/test/NeonCreateWorkloadTests.cpp index 8a85e7dd94..244002f132 100644 --- a/src/backends/neon/test/NeonCreateWorkloadTests.cpp +++ b/src/backends/neon/test/NeonCreateWorkloadTests.cpp @@ -423,7 +423,7 @@ BOOST_AUTO_TEST_CASE(CreateSplitterMerger) NeonWorkloadFactory factory; auto workloads = - CreateSplitterMergerWorkloadTest(factory, graph); auto wlSplitter = std::move(workloads.first); diff --git a/src/backends/neon/workloads/CMakeLists.txt b/src/backends/neon/workloads/CMakeLists.txt index 460b870273..06eb504e99 100644 --- a/src/backends/neon/workloads/CMakeLists.txt +++ b/src/backends/neon/workloads/CMakeLists.txt @@ -9,7 +9,6 @@ list(APPEND armnnNeonBackendWorkloads_sources NeonAdditionFloatWorkload.cpp NeonAdditionFloatWorkload.hpp NeonBaseConstantWorkload.hpp - NeonBaseMergerWorkload.hpp NeonBaseSplitterWorkload.hpp NeonBatchNormalizationFloatWorkload.cpp NeonBatchNormalizationFloatWorkload.hpp @@ -41,10 +40,7 @@ list(APPEND armnnNeonBackendWorkloads_sources NeonL2NormalizationFloatWorkload.hpp NeonLstmFloatWorkload.cpp NeonLstmFloatWorkload.hpp - NeonMergerFloatWorkload.cpp - NeonMergerFloatWorkload.hpp - NeonMergerUint8Workload.cpp - NeonMergerUint8Workload.hpp + NeonMergerWorkload.hpp NeonMultiplicationFloatWorkload.cpp NeonMultiplicationFloatWorkload.hpp NeonNormalizationFloatWorkload.cpp diff --git a/src/backends/neon/workloads/NeonBaseMergerWorkload.hpp b/src/backends/neon/workloads/NeonBaseMergerWorkload.hpp deleted file mode 100644 index 9ff09f6c7c..0000000000 --- a/src/backends/neon/workloads/NeonBaseMergerWorkload.hpp +++ /dev/null @@ -1,26 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#pragma once - -#include -#include - -namespace armnn -{ -// Base class template providing an implementation of the Merger layer common to all data types. -template -class NeonBaseMergerWorkload : public TypedWorkload -{ -public: - using TypedWorkload::TypedWorkload; - - virtual void Execute() const override - { - // With subtensors, merger is a no-op. - } -}; - -} //namespace armnn diff --git a/src/backends/neon/workloads/NeonMergerFloatWorkload.cpp b/src/backends/neon/workloads/NeonMergerFloatWorkload.cpp deleted file mode 100644 index 79039aa51a..0000000000 --- a/src/backends/neon/workloads/NeonMergerFloatWorkload.cpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#include "NeonMergerFloatWorkload.hpp" - -namespace armnn -{ - -void NeonMergerFloatWorkload::Execute() const -{ - ARMNN_SCOPED_PROFILING_EVENT_NEON("NeonMergerFloatWorkload_Execute"); - NeonBaseMergerWorkload::Execute(); -} - -} // namespace armnn diff --git a/src/backends/neon/workloads/NeonMergerFloatWorkload.hpp b/src/backends/neon/workloads/NeonMergerFloatWorkload.hpp deleted file mode 100644 index e7088b8c2f..0000000000 --- a/src/backends/neon/workloads/NeonMergerFloatWorkload.hpp +++ /dev/null @@ -1,20 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#pragma once - -#include "NeonBaseMergerWorkload.hpp" - -namespace armnn -{ - -class NeonMergerFloatWorkload : public NeonBaseMergerWorkload -{ -public: - using NeonBaseMergerWorkload::NeonBaseMergerWorkload; - virtual void Execute() const override; -}; - -} //namespace armnn diff --git a/src/backends/neon/workloads/NeonMergerUint8Workload.cpp b/src/backends/neon/workloads/NeonMergerUint8Workload.cpp deleted file mode 100644 index 3989702bd3..0000000000 --- a/src/backends/neon/workloads/NeonMergerUint8Workload.cpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#include "NeonMergerUint8Workload.hpp" - -namespace armnn -{ - -void NeonMergerUint8Workload::Execute() const -{ - ARMNN_SCOPED_PROFILING_EVENT_NEON("NeonMergerUint8Workload_Execute"); - NeonBaseMergerWorkload::Execute(); -} - -} // namespace armnn diff --git a/src/backends/neon/workloads/NeonMergerUint8Workload.hpp b/src/backends/neon/workloads/NeonMergerUint8Workload.hpp deleted file mode 100644 index 73c0fd55ad..0000000000 --- a/src/backends/neon/workloads/NeonMergerUint8Workload.hpp +++ /dev/null @@ -1,20 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#pragma once - -#include "NeonBaseMergerWorkload.hpp" - -namespace armnn -{ - -class NeonMergerUint8Workload : public NeonBaseMergerWorkload -{ -public: - using NeonBaseMergerWorkload::NeonBaseMergerWorkload; - virtual void Execute() const override; -}; - -} //namespace armnn diff --git a/src/backends/neon/workloads/NeonMergerWorkload.hpp b/src/backends/neon/workloads/NeonMergerWorkload.hpp new file mode 100644 index 0000000000..ce7241d3b6 --- /dev/null +++ b/src/backends/neon/workloads/NeonMergerWorkload.hpp @@ -0,0 +1,23 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#pragma once + +#include + +namespace armnn +{ +class NeonMergerWorkload : public BaseWorkload +{ +public: + using BaseWorkload::BaseWorkload; + + virtual void Execute() const override + { + // With subtensors, merger is a no-op. + } +}; + +} //namespace armnn diff --git a/src/backends/neon/workloads/NeonWorkloads.hpp b/src/backends/neon/workloads/NeonWorkloads.hpp index db2df18371..d5a76b44cc 100644 --- a/src/backends/neon/workloads/NeonWorkloads.hpp +++ b/src/backends/neon/workloads/NeonWorkloads.hpp @@ -7,7 +7,6 @@ #include "NeonActivationWorkload.hpp" #include "NeonAdditionFloatWorkload.hpp" #include "NeonBaseConstantWorkload.hpp" -#include "NeonBaseMergerWorkload.hpp" #include "NeonBaseSplitterWorkload.hpp" #include "NeonBatchNormalizationFloatWorkload.hpp" #include "NeonConstantFloatWorkload.hpp" @@ -23,8 +22,7 @@ #include "NeonFullyConnectedWorkload.hpp" #include "NeonL2NormalizationFloatWorkload.hpp" #include "NeonLstmFloatWorkload.hpp" -#include "NeonMergerFloatWorkload.hpp" -#include "NeonMergerUint8Workload.hpp" +#include "NeonMergerWorkload.hpp" #include "NeonMultiplicationFloatWorkload.hpp" #include "NeonNormalizationFloatWorkload.hpp" #include "NeonPermuteWorkload.hpp" -- cgit v1.2.1