diff options
Diffstat (limited to 'src/backends')
-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 | 8 | ||||
-rw-r--r-- | src/backends/neon/workloads/CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/backends/neon/workloads/NeonBaseSplitterWorkload.hpp | 27 | ||||
-rw-r--r-- | src/backends/neon/workloads/NeonSplitterFloatWorkload.cpp | 17 | ||||
-rw-r--r-- | src/backends/neon/workloads/NeonSplitterFloatWorkload.hpp | 20 | ||||
-rw-r--r-- | src/backends/neon/workloads/NeonSplitterUint8Workload.cpp | 17 | ||||
-rw-r--r-- | src/backends/neon/workloads/NeonSplitterUint8Workload.hpp | 20 | ||||
-rw-r--r-- | src/backends/neon/workloads/NeonSplitterWorkload.hpp | 24 | ||||
-rw-r--r-- | src/backends/neon/workloads/NeonWorkloads.hpp | 4 |
11 files changed, 31 insertions, 116 deletions
diff --git a/src/backends/neon/NeonWorkloadFactory.cpp b/src/backends/neon/NeonWorkloadFactory.cpp index 0568c81f8f..0f386d129d 100644 --- a/src/backends/neon/NeonWorkloadFactory.cpp +++ b/src/backends/neon/NeonWorkloadFactory.cpp @@ -104,7 +104,7 @@ std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateSoftmax(const SoftmaxQueue std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateSplitter(const SplitterQueueDescriptor& descriptor, const WorkloadInfo& info) const { - return MakeWorkload<NeonSplitterFloatWorkload, NeonSplitterUint8Workload>(descriptor, info); + return std::make_unique<NeonSplitterWorkload>(descriptor, info); } std::unique_ptr<armnn::IWorkload> NeonWorkloadFactory::CreateMerger(const MergerQueueDescriptor& descriptor, diff --git a/src/backends/neon/backend.mk b/src/backends/neon/backend.mk index 4350297454..26bf33e2f5 100644 --- a/src/backends/neon/backend.mk +++ b/src/backends/neon/backend.mk @@ -38,7 +38,5 @@ BACKEND_SOURCES := \ workloads/NeonSoftmaxBaseWorkload.cpp \ workloads/NeonSoftmaxFloatWorkload.cpp \ workloads/NeonSoftmaxUint8Workload.cpp \ - workloads/NeonSplitterFloatWorkload.cpp \ - workloads/NeonSplitterUint8Workload.cpp \ workloads/NeonSubtractionFloatWorkload.cpp \ workloads/NeonWorkloadUtils.cpp diff --git a/src/backends/neon/test/NeonCreateWorkloadTests.cpp b/src/backends/neon/test/NeonCreateWorkloadTests.cpp index 3f07ef0152..e8790c3ae2 100644 --- a/src/backends/neon/test/NeonCreateWorkloadTests.cpp +++ b/src/backends/neon/test/NeonCreateWorkloadTests.cpp @@ -433,7 +433,7 @@ BOOST_AUTO_TEST_CASE(CreateSplitterWorkload) { Graph graph; NeonWorkloadFactory factory; - auto workload = CreateSplitterWorkloadTest<NeonSplitterFloatWorkload, DataType::Float32>(factory, graph); + auto workload = CreateSplitterWorkloadTest<NeonSplitterWorkload, DataType::Float32>(factory, graph); // Checks that outputs are as we expect them (see definition of CreateSplitterWorkloadTest). SplitterQueueDescriptor queueDescriptor = workload->GetData(); @@ -462,7 +462,7 @@ BOOST_AUTO_TEST_CASE(CreateSplitterMerger) NeonWorkloadFactory factory; auto workloads = - CreateSplitterMergerWorkloadTest<NeonSplitterFloatWorkload, NeonMergerWorkload, + CreateSplitterMergerWorkloadTest<NeonSplitterWorkload, NeonMergerWorkload, DataType::Float32>(factory, graph); auto wlSplitter = std::move(workloads.first); @@ -491,13 +491,13 @@ BOOST_AUTO_TEST_CASE(CreateSingleOutputMultipleInputs) Graph graph; NeonWorkloadFactory factory; - std::unique_ptr<NeonSplitterFloatWorkload> wlSplitter; + std::unique_ptr<NeonSplitterWorkload> wlSplitter; std::unique_ptr<NeonActivationWorkload> wlActiv0_0; std::unique_ptr<NeonActivationWorkload> wlActiv0_1; std::unique_ptr<NeonActivationWorkload> wlActiv1_0; std::unique_ptr<NeonActivationWorkload> wlActiv1_1; - CreateSplitterMultipleInputsOneOutputWorkloadTest<NeonSplitterFloatWorkload, + CreateSplitterMultipleInputsOneOutputWorkloadTest<NeonSplitterWorkload, NeonActivationWorkload, DataType::Float32>(factory, graph, wlSplitter, wlActiv0_0, wlActiv0_1, wlActiv1_0, wlActiv1_1); diff --git a/src/backends/neon/workloads/CMakeLists.txt b/src/backends/neon/workloads/CMakeLists.txt index 7c2247256d..7f912610ef 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 - NeonBaseSplitterWorkload.hpp NeonBatchNormalizationFloatWorkload.cpp NeonBatchNormalizationFloatWorkload.hpp NeonConstantFloatWorkload.cpp @@ -61,10 +60,7 @@ list(APPEND armnnNeonBackendWorkloads_sources NeonSoftmaxFloatWorkload.hpp NeonSoftmaxUint8Workload.cpp NeonSoftmaxUint8Workload.hpp - NeonSplitterFloatWorkload.cpp - NeonSplitterFloatWorkload.hpp - NeonSplitterUint8Workload.cpp - NeonSplitterUint8Workload.hpp + NeonSplitterWorkload.hpp NeonSubtractionFloatWorkload.cpp NeonSubtractionFloatWorkload.hpp NeonWorkloads.hpp diff --git a/src/backends/neon/workloads/NeonBaseSplitterWorkload.hpp b/src/backends/neon/workloads/NeonBaseSplitterWorkload.hpp deleted file mode 100644 index dcee93363d..0000000000 --- a/src/backends/neon/workloads/NeonBaseSplitterWorkload.hpp +++ /dev/null @@ -1,27 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#pragma once - -#include <backends/Workload.hpp> -#include <backends/neon/workloads/NeonWorkloadUtils.hpp> - -namespace armnn -{ - -// Base class template providing an implementation of the Splitter layer common to all data types. -template <armnn::DataType... DataTypes> -class NeonBaseSplitterWorkload : public TypedWorkload<SplitterQueueDescriptor, DataTypes...> -{ -public: - using TypedWorkload<SplitterQueueDescriptor, DataTypes...>::TypedWorkload; - - virtual void Execute() const override - { - // With subtensors, splitter is a no-op. - } -}; - -} //namespace armnn diff --git a/src/backends/neon/workloads/NeonSplitterFloatWorkload.cpp b/src/backends/neon/workloads/NeonSplitterFloatWorkload.cpp deleted file mode 100644 index 39ed5b7cbc..0000000000 --- a/src/backends/neon/workloads/NeonSplitterFloatWorkload.cpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#include "NeonSplitterFloatWorkload.hpp" - -namespace armnn -{ - -void NeonSplitterFloatWorkload::Execute() const -{ - ARMNN_SCOPED_PROFILING_EVENT_NEON("NeonSplitterFloatWorkload_Execute"); - NeonBaseSplitterWorkload::Execute(); -} - -} //namespace armnn diff --git a/src/backends/neon/workloads/NeonSplitterFloatWorkload.hpp b/src/backends/neon/workloads/NeonSplitterFloatWorkload.hpp deleted file mode 100644 index 744a4fe216..0000000000 --- a/src/backends/neon/workloads/NeonSplitterFloatWorkload.hpp +++ /dev/null @@ -1,20 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#pragma once - -#include "NeonBaseSplitterWorkload.hpp" - -namespace armnn -{ - -class NeonSplitterFloatWorkload : public NeonBaseSplitterWorkload<DataType::Float16, DataType::Float32> -{ -public: - using NeonBaseSplitterWorkload<DataType::Float16, DataType::Float32>::NeonBaseSplitterWorkload; - virtual void Execute() const override; -}; - -} //namespace armnn diff --git a/src/backends/neon/workloads/NeonSplitterUint8Workload.cpp b/src/backends/neon/workloads/NeonSplitterUint8Workload.cpp deleted file mode 100644 index 4b2cf8fc91..0000000000 --- a/src/backends/neon/workloads/NeonSplitterUint8Workload.cpp +++ /dev/null @@ -1,17 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#include "NeonSplitterUint8Workload.hpp" - -namespace armnn -{ - -void NeonSplitterUint8Workload::Execute() const -{ - ARMNN_SCOPED_PROFILING_EVENT_NEON("NeonSplitterUint8Workload_Execute"); - NeonBaseSplitterWorkload::Execute(); -} - -} //namespace armnn diff --git a/src/backends/neon/workloads/NeonSplitterUint8Workload.hpp b/src/backends/neon/workloads/NeonSplitterUint8Workload.hpp deleted file mode 100644 index f219cfaa7d..0000000000 --- a/src/backends/neon/workloads/NeonSplitterUint8Workload.hpp +++ /dev/null @@ -1,20 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#pragma once - -#include "NeonBaseSplitterWorkload.hpp" - -namespace armnn -{ - -class NeonSplitterUint8Workload : public NeonBaseSplitterWorkload<DataType::QuantisedAsymm8> -{ -public: - using NeonBaseSplitterWorkload<DataType::QuantisedAsymm8>::NeonBaseSplitterWorkload; - virtual void Execute() const override; -}; - -} //namespace armnn diff --git a/src/backends/neon/workloads/NeonSplitterWorkload.hpp b/src/backends/neon/workloads/NeonSplitterWorkload.hpp new file mode 100644 index 0000000000..11c1767ea6 --- /dev/null +++ b/src/backends/neon/workloads/NeonSplitterWorkload.hpp @@ -0,0 +1,24 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#pragma once + +#include <backends/Workload.hpp> + +namespace armnn +{ + +class NeonSplitterWorkload : public BaseWorkload<SplitterQueueDescriptor> +{ +public: + using BaseWorkload<SplitterQueueDescriptor>::BaseWorkload; + + virtual void Execute() const override + { + // With subtensors, splitter is a no-op. + } +}; + +} //namespace armnn diff --git a/src/backends/neon/workloads/NeonWorkloads.hpp b/src/backends/neon/workloads/NeonWorkloads.hpp index c877c943f4..917b1feac3 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 "NeonBaseSplitterWorkload.hpp" #include "NeonBatchNormalizationFloatWorkload.hpp" #include "NeonConstantFloatWorkload.hpp" #include "NeonConstantUint8Workload.hpp" @@ -32,6 +31,5 @@ #include "NeonReshapeWorkload.hpp" #include "NeonSoftmaxFloatWorkload.hpp" #include "NeonSoftmaxUint8Workload.hpp" -#include "NeonSplitterFloatWorkload.hpp" -#include "NeonSplitterUint8Workload.hpp" +#include "NeonSplitterWorkload.hpp" #include "NeonSubtractionFloatWorkload.hpp" |