diff options
author | Nattapat Chaimanowong <nattapat.chaimanowong@arm.com> | 2018-10-12 13:54:09 +0100 |
---|---|---|
committer | Matthew Bentham <matthew.bentham@arm.com> | 2018-10-22 16:57:53 +0100 |
commit | f3eb46d23c6001150d36d80acac7ad1247174630 (patch) | |
tree | 51f95bb9ad54f01c32c60ea455a5317effe59ebe /src | |
parent | d4b70599c1d5f9f4b6b4c757eb46943157874910 (diff) | |
download | armnn-f3eb46d23c6001150d36d80acac7ad1247174630.tar.gz |
IVGCVSW-1951 Remove type templating from NeonMergerWorkload
Change-Id: I284a9aa6865cdbd6975c54b011d2cec15a174e79
Diffstat (limited to 'src')
-rw-r--r-- | src/backends/neon/NeonWorkloadFactory.cpp | 2 | ||||
-rw-r--r-- | src/backends/neon/backend.mk | 2 | ||||
-rw-r--r-- | src/backends/neon/test/NeonCreateWorkloadTests.cpp | 2 | ||||
-rw-r--r-- | src/backends/neon/workloads/CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/backends/neon/workloads/NeonBaseMergerWorkload.hpp | 26 | ||||
-rw-r--r-- | src/backends/neon/workloads/NeonMergerFloatWorkload.cpp | 17 | ||||
-rw-r--r-- | src/backends/neon/workloads/NeonMergerFloatWorkload.hpp | 20 | ||||
-rw-r--r-- | src/backends/neon/workloads/NeonMergerUint8Workload.cpp | 17 | ||||
-rw-r--r-- | src/backends/neon/workloads/NeonMergerUint8Workload.hpp | 20 | ||||
-rw-r--r-- | src/backends/neon/workloads/NeonMergerWorkload.hpp | 23 | ||||
-rw-r--r-- | src/backends/neon/workloads/NeonWorkloads.hpp | 4 |
11 files changed, 27 insertions, 112 deletions
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<IWorkload> NeonWorkloadFactory::CreateSplitter(const SplitterQue std::unique_ptr<armnn::IWorkload> NeonWorkloadFactory::CreateMerger(const MergerQueueDescriptor& descriptor, const WorkloadInfo& info) const { - return MakeWorkload<NeonMergerFloatWorkload, NeonMergerUint8Workload>(descriptor, info); + return std::make_unique<NeonMergerWorkload>(descriptor, info); } std::unique_ptr<armnn::IWorkload> 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<NeonSplitterFloatWorkload, NeonMergerFloatWorkload, + CreateSplitterMergerWorkloadTest<NeonSplitterFloatWorkload, NeonMergerWorkload, DataType::Float32>(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 <backends/neon/workloads/NeonWorkloadUtils.hpp> -#include <backends/Workload.hpp> - -namespace armnn -{ -// Base class template providing an implementation of the Merger layer common to all data types. -template <armnn::DataType... DataTypes> -class NeonBaseMergerWorkload : public TypedWorkload<MergerQueueDescriptor, DataTypes...> -{ -public: - using TypedWorkload<MergerQueueDescriptor, DataTypes...>::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<DataType::Float16, DataType::Float32> -{ -public: - using NeonBaseMergerWorkload<DataType::Float16, DataType::Float32>::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<DataType::QuantisedAsymm8> -{ -public: - using NeonBaseMergerWorkload<DataType::QuantisedAsymm8>::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 <backends/Workload.hpp> + +namespace armnn +{ +class NeonMergerWorkload : public BaseWorkload<MergerQueueDescriptor> +{ +public: + using BaseWorkload<MergerQueueDescriptor>::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" |