diff options
author | Nattapat Chaimanowong <nattapat.chaimanowong@arm.com> | 2018-10-11 16:16:17 +0100 |
---|---|---|
committer | Matthew Bentham <matthew.bentham@arm.com> | 2018-10-22 16:57:53 +0100 |
commit | 02f8bc10bc670dd694eeda2db8e0a43a1c84320b (patch) | |
tree | 744d662eeeef188bdb2e0a1a1934c5e221d92422 /src/backends | |
parent | e06757e605e4d0c5618dd58b4c8599dc96fabf7e (diff) | |
download | armnn-02f8bc10bc670dd694eeda2db8e0a43a1c84320b.tar.gz |
IVGCVSW-1951 Remove type templating from ClMergerWorkload
Change-Id: I8580f5d1612567a3b02cfccfd1f8d0f196eeda93
Diffstat (limited to 'src/backends')
-rw-r--r-- | src/backends/cl/ClWorkloadFactory.cpp | 2 | ||||
-rw-r--r-- | src/backends/cl/backend.mk | 2 | ||||
-rw-r--r-- | src/backends/cl/test/ClCreateWorkloadTests.cpp | 8 | ||||
-rw-r--r-- | src/backends/cl/workloads/CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/backends/cl/workloads/ClBaseMergerWorkload.hpp | 28 | ||||
-rw-r--r-- | src/backends/cl/workloads/ClMergerFloatWorkload.cpp | 20 | ||||
-rw-r--r-- | src/backends/cl/workloads/ClMergerFloatWorkload.hpp | 22 | ||||
-rw-r--r-- | src/backends/cl/workloads/ClMergerUint8Workload.cpp | 19 | ||||
-rw-r--r-- | src/backends/cl/workloads/ClMergerUint8Workload.hpp | 21 | ||||
-rw-r--r-- | src/backends/cl/workloads/ClMergerWorkload.hpp | 24 | ||||
-rw-r--r-- | src/backends/cl/workloads/ClWorkloads.hpp | 4 |
11 files changed, 31 insertions, 125 deletions
diff --git a/src/backends/cl/ClWorkloadFactory.cpp b/src/backends/cl/ClWorkloadFactory.cpp index 189509a6a5..d293759bc9 100644 --- a/src/backends/cl/ClWorkloadFactory.cpp +++ b/src/backends/cl/ClWorkloadFactory.cpp @@ -119,7 +119,7 @@ std::unique_ptr<IWorkload> ClWorkloadFactory::CreateSplitter(const SplitterQueue std::unique_ptr<armnn::IWorkload> ClWorkloadFactory::CreateMerger(const MergerQueueDescriptor& descriptor, const WorkloadInfo& info) const { - return MakeWorkload<ClMergerFloatWorkload, ClMergerUint8Workload>(descriptor, info); + return std::make_unique<ClMergerWorkload>(descriptor, info); } std::unique_ptr<armnn::IWorkload> ClWorkloadFactory::CreateFullyConnected( diff --git a/src/backends/cl/backend.mk b/src/backends/cl/backend.mk index ac2e7718c9..d5aa945ee2 100644 --- a/src/backends/cl/backend.mk +++ b/src/backends/cl/backend.mk @@ -25,8 +25,6 @@ BACKEND_SOURCES := \ workloads/ClFullyConnectedWorkload.cpp \ workloads/ClL2NormalizationFloatWorkload.cpp \ workloads/ClLstmFloatWorkload.cpp \ - workloads/ClMergerFloatWorkload.cpp \ - workloads/ClMergerUint8Workload.cpp \ workloads/ClMultiplicationWorkload.cpp \ workloads/ClNormalizationFloatWorkload.cpp \ workloads/ClPadWorkload.cpp \ diff --git a/src/backends/cl/test/ClCreateWorkloadTests.cpp b/src/backends/cl/test/ClCreateWorkloadTests.cpp index 6ac47fd4d6..d3bae440bd 100644 --- a/src/backends/cl/test/ClCreateWorkloadTests.cpp +++ b/src/backends/cl/test/ClCreateWorkloadTests.cpp @@ -475,7 +475,7 @@ BOOST_AUTO_TEST_CASE(CreateSplitterFloat16Workload) ClSplitterWorkloadTest<armnn::DataType::Float16>(); } -template <typename MergerWorkloadType, typename armnn::DataType DataType> +template <typename armnn::DataType DataType> static void ClSplitterMergerTest() { // Tests that it is possible to decide which output of the splitter layer @@ -488,7 +488,7 @@ static void ClSplitterMergerTest() ClWorkloadFactory factory; auto workloads = - CreateSplitterMergerWorkloadTest<ClSplitterWorkload, MergerWorkloadType, DataType> + CreateSplitterMergerWorkloadTest<ClSplitterWorkload, ClMergerWorkload, DataType> (factory, graph); auto wlSplitter = std::move(workloads.first); @@ -519,12 +519,12 @@ static void ClSplitterMergerTest() BOOST_AUTO_TEST_CASE(CreateSplitterMergerFloatWorkload) { - ClSplitterMergerTest<ClMergerFloatWorkload, armnn::DataType::Float32>(); + ClSplitterMergerTest<armnn::DataType::Float32>(); } BOOST_AUTO_TEST_CASE(CreateSplitterMergerFloat16Workload) { - ClSplitterMergerTest<ClMergerFloatWorkload, armnn::DataType::Float16>(); + ClSplitterMergerTest<armnn::DataType::Float16>(); } diff --git a/src/backends/cl/workloads/CMakeLists.txt b/src/backends/cl/workloads/CMakeLists.txt index 7ff04a774f..e7877f2d45 100644 --- a/src/backends/cl/workloads/CMakeLists.txt +++ b/src/backends/cl/workloads/CMakeLists.txt @@ -8,7 +8,6 @@ list(APPEND armnnClBackendWorkloads_sources ClActivationWorkload.hpp ClAdditionWorkload.cpp ClAdditionWorkload.hpp - ClBaseMergerWorkload.hpp ClBatchNormalizationFloatWorkload.cpp ClBatchNormalizationFloatWorkload.hpp ClConstantWorkload.cpp @@ -31,10 +30,7 @@ list(APPEND armnnClBackendWorkloads_sources ClL2NormalizationFloatWorkload.hpp ClLstmFloatWorkload.cpp ClLstmFloatWorkload.hpp - ClMergerFloatWorkload.cpp - ClMergerFloatWorkload.hpp - ClMergerUint8Workload.cpp - ClMergerUint8Workload.hpp + ClMergerWorkload.hpp ClMultiplicationWorkload.cpp ClMultiplicationWorkload.hpp ClNormalizationFloatWorkload.cpp diff --git a/src/backends/cl/workloads/ClBaseMergerWorkload.hpp b/src/backends/cl/workloads/ClBaseMergerWorkload.hpp deleted file mode 100644 index f8ff6f9379..0000000000 --- a/src/backends/cl/workloads/ClBaseMergerWorkload.hpp +++ /dev/null @@ -1,28 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#pragma once - -#include <backends/Workload.hpp> - -#include <arm_compute/runtime/CL/CLFunctions.h> - -namespace armnn -{ - -// Base class template providing an implementation of the Merger layer common to all data types. -template <armnn::DataType... DataTypes> -class ClBaseMergerWorkload : public TypedWorkload<MergerQueueDescriptor, DataTypes...> -{ -public: - using TypedWorkload<MergerQueueDescriptor, DataTypes...>::TypedWorkload; - - void Execute() const override - { - // With subtensors, merger is a no-op. - } -}; - -} //namespace armnn diff --git a/src/backends/cl/workloads/ClMergerFloatWorkload.cpp b/src/backends/cl/workloads/ClMergerFloatWorkload.cpp deleted file mode 100644 index 151f1e0ee7..0000000000 --- a/src/backends/cl/workloads/ClMergerFloatWorkload.cpp +++ /dev/null @@ -1,20 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#include "ClMergerFloatWorkload.hpp" - -#include "ClWorkloadUtils.hpp" - -namespace armnn -{ - -void ClMergerFloatWorkload::Execute() const -{ - ARMNN_SCOPED_PROFILING_EVENT_CL("ClMergerFloatWorkload_Execute"); - ClBaseMergerWorkload::Execute(); -} - -} //namespace armnn - diff --git a/src/backends/cl/workloads/ClMergerFloatWorkload.hpp b/src/backends/cl/workloads/ClMergerFloatWorkload.hpp deleted file mode 100644 index 9782f7a8f3..0000000000 --- a/src/backends/cl/workloads/ClMergerFloatWorkload.hpp +++ /dev/null @@ -1,22 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#pragma once - -#include "ClBaseMergerWorkload.hpp" - -namespace armnn -{ - -class ClMergerFloatWorkload : public ClBaseMergerWorkload<DataType::Float16, DataType::Float32> -{ -public: - using ClBaseMergerWorkload<DataType::Float16, DataType::Float32>::ClBaseMergerWorkload; - virtual void Execute() const override; -}; - -} //namespace armnn - - diff --git a/src/backends/cl/workloads/ClMergerUint8Workload.cpp b/src/backends/cl/workloads/ClMergerUint8Workload.cpp deleted file mode 100644 index 9d1060d857..0000000000 --- a/src/backends/cl/workloads/ClMergerUint8Workload.cpp +++ /dev/null @@ -1,19 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#include "ClMergerUint8Workload.hpp" - -#include "ClWorkloadUtils.hpp" - -namespace armnn -{ - -void ClMergerUint8Workload::Execute() const -{ - ARMNN_SCOPED_PROFILING_EVENT_CL("ClMergerUint8Workload_Execute"); - ClBaseMergerWorkload<DataType::QuantisedAsymm8>::Execute(); -} - -} //namespace armnn diff --git a/src/backends/cl/workloads/ClMergerUint8Workload.hpp b/src/backends/cl/workloads/ClMergerUint8Workload.hpp deleted file mode 100644 index cbfc19a0f2..0000000000 --- a/src/backends/cl/workloads/ClMergerUint8Workload.hpp +++ /dev/null @@ -1,21 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#pragma once - -#include "ClBaseMergerWorkload.hpp" - -namespace armnn -{ - -class ClMergerUint8Workload : public ClBaseMergerWorkload<armnn::DataType::QuantisedAsymm8> -{ -public: - using ClBaseMergerWorkload<armnn::DataType::QuantisedAsymm8>::ClBaseMergerWorkload; - virtual void Execute() const override; -}; - -} //namespace armnn - diff --git a/src/backends/cl/workloads/ClMergerWorkload.hpp b/src/backends/cl/workloads/ClMergerWorkload.hpp new file mode 100644 index 0000000000..a6deb2e2b3 --- /dev/null +++ b/src/backends/cl/workloads/ClMergerWorkload.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 ClMergerWorkload : public BaseWorkload<MergerQueueDescriptor> +{ +public: + using BaseWorkload<MergerQueueDescriptor>::BaseWorkload; + + void Execute() const override + { + // With subtensors, merger is a no-op. + } +}; + +} //namespace armnn diff --git a/src/backends/cl/workloads/ClWorkloads.hpp b/src/backends/cl/workloads/ClWorkloads.hpp index a01d9d809c..8257218291 100644 --- a/src/backends/cl/workloads/ClWorkloads.hpp +++ b/src/backends/cl/workloads/ClWorkloads.hpp @@ -7,7 +7,6 @@ #include "ClActivationWorkload.hpp" #include "ClAdditionWorkload.hpp" #include "ClConstantWorkload.hpp" -#include "ClBaseMergerWorkload.hpp" #include "ClBatchNormalizationFloatWorkload.hpp" #include "ClConvolution2dWorkload.hpp" #include "ClDepthwiseConvolutionWorkload.hpp" @@ -16,8 +15,7 @@ #include "ClFullyConnectedWorkload.hpp" #include "ClL2NormalizationFloatWorkload.hpp" #include "ClLstmFloatWorkload.hpp" -#include "ClMergerFloatWorkload.hpp" -#include "ClMergerUint8Workload.hpp" +#include "ClMergerWorkload.hpp" #include "ClMultiplicationWorkload.hpp" #include "ClNormalizationFloatWorkload.hpp" #include "ClPermuteWorkload.hpp" |