From 02f8bc10bc670dd694eeda2db8e0a43a1c84320b Mon Sep 17 00:00:00 2001 From: Nattapat Chaimanowong Date: Thu, 11 Oct 2018 16:16:17 +0100 Subject: IVGCVSW-1951 Remove type templating from ClMergerWorkload Change-Id: I8580f5d1612567a3b02cfccfd1f8d0f196eeda93 --- src/backends/cl/ClWorkloadFactory.cpp | 2 +- src/backends/cl/backend.mk | 2 -- src/backends/cl/test/ClCreateWorkloadTests.cpp | 8 +++---- src/backends/cl/workloads/CMakeLists.txt | 6 +---- src/backends/cl/workloads/ClBaseMergerWorkload.hpp | 28 ---------------------- .../cl/workloads/ClMergerFloatWorkload.cpp | 20 ---------------- .../cl/workloads/ClMergerFloatWorkload.hpp | 22 ----------------- .../cl/workloads/ClMergerUint8Workload.cpp | 19 --------------- .../cl/workloads/ClMergerUint8Workload.hpp | 21 ---------------- src/backends/cl/workloads/ClMergerWorkload.hpp | 24 +++++++++++++++++++ src/backends/cl/workloads/ClWorkloads.hpp | 4 +--- 11 files changed, 31 insertions(+), 125 deletions(-) delete mode 100644 src/backends/cl/workloads/ClBaseMergerWorkload.hpp delete mode 100644 src/backends/cl/workloads/ClMergerFloatWorkload.cpp delete mode 100644 src/backends/cl/workloads/ClMergerFloatWorkload.hpp delete mode 100644 src/backends/cl/workloads/ClMergerUint8Workload.cpp delete mode 100644 src/backends/cl/workloads/ClMergerUint8Workload.hpp create mode 100644 src/backends/cl/workloads/ClMergerWorkload.hpp 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 ClWorkloadFactory::CreateSplitter(const SplitterQueue std::unique_ptr ClWorkloadFactory::CreateMerger(const MergerQueueDescriptor& descriptor, const WorkloadInfo& info) const { - return MakeWorkload(descriptor, info); + return std::make_unique(descriptor, info); } std::unique_ptr 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(); } -template +template 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 + CreateSplitterMergerWorkloadTest (factory, graph); auto wlSplitter = std::move(workloads.first); @@ -519,12 +519,12 @@ static void ClSplitterMergerTest() BOOST_AUTO_TEST_CASE(CreateSplitterMergerFloatWorkload) { - ClSplitterMergerTest(); + ClSplitterMergerTest(); } BOOST_AUTO_TEST_CASE(CreateSplitterMergerFloat16Workload) { - ClSplitterMergerTest(); + ClSplitterMergerTest(); } 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 - -#include - -namespace armnn -{ - -// Base class template providing an implementation of the Merger layer common to all data types. -template -class ClBaseMergerWorkload : public TypedWorkload -{ -public: - using TypedWorkload::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 -{ -public: - using ClBaseMergerWorkload::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::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 -{ -public: - using ClBaseMergerWorkload::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 + +namespace armnn +{ + +class ClMergerWorkload : public BaseWorkload +{ +public: + using BaseWorkload::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" -- cgit v1.2.1