aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNattapat Chaimanowong <nattapat.chaimanowong@arm.com>2018-10-12 13:54:09 +0100
committerMatthew Bentham <matthew.bentham@arm.com>2018-10-22 16:57:53 +0100
commitf3eb46d23c6001150d36d80acac7ad1247174630 (patch)
tree51f95bb9ad54f01c32c60ea455a5317effe59ebe
parentd4b70599c1d5f9f4b6b4c757eb46943157874910 (diff)
downloadarmnn-f3eb46d23c6001150d36d80acac7ad1247174630.tar.gz
IVGCVSW-1951 Remove type templating from NeonMergerWorkload
Change-Id: I284a9aa6865cdbd6975c54b011d2cec15a174e79
-rw-r--r--src/backends/neon/NeonWorkloadFactory.cpp2
-rw-r--r--src/backends/neon/backend.mk2
-rw-r--r--src/backends/neon/test/NeonCreateWorkloadTests.cpp2
-rw-r--r--src/backends/neon/workloads/CMakeLists.txt6
-rw-r--r--src/backends/neon/workloads/NeonBaseMergerWorkload.hpp26
-rw-r--r--src/backends/neon/workloads/NeonMergerFloatWorkload.cpp17
-rw-r--r--src/backends/neon/workloads/NeonMergerFloatWorkload.hpp20
-rw-r--r--src/backends/neon/workloads/NeonMergerUint8Workload.cpp17
-rw-r--r--src/backends/neon/workloads/NeonMergerUint8Workload.hpp20
-rw-r--r--src/backends/neon/workloads/NeonMergerWorkload.hpp23
-rw-r--r--src/backends/neon/workloads/NeonWorkloads.hpp4
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"