From 4ed6c83a82948314abffdaa17e96c39ac82f89e4 Mon Sep 17 00:00:00 2001 From: Jim Flynn Date: Mon, 20 May 2019 11:02:46 +0100 Subject: IVGCVSW-3124 Rename workloadFactory CreateMerger to CreateConcat Change-Id: Id836372c0e4ef0c3996085facc4da6263366abcf Signed-off-by: Jim Flynn --- src/armnn/layers/MergerLayer.cpp | 2 +- src/backends/backendsCommon/WorkloadFactory.cpp | 6 ++++++ src/backends/backendsCommon/WorkloadFactory.hpp | 4 ++++ .../test/IsLayerSupportedTestImpl.hpp | 2 ++ src/backends/backendsCommon/test/LayerTests.cpp | 22 +++++++++++----------- src/backends/backendsCommon/test/LayerTests.hpp | 8 ++++---- src/backends/cl/ClWorkloadFactory.cpp | 8 +++++++- src/backends/cl/ClWorkloadFactory.hpp | 4 ++++ src/backends/cl/test/ClLayerTests.cpp | 6 +++--- src/backends/neon/NeonWorkloadFactory.cpp | 8 +++++++- src/backends/neon/NeonWorkloadFactory.hpp | 4 ++++ src/backends/neon/test/NeonLayerTests.cpp | 6 +++--- src/backends/reference/RefWorkloadFactory.cpp | 16 +++++++++++----- src/backends/reference/RefWorkloadFactory.hpp | 4 ++++ src/backends/reference/test/RefLayerTests.cpp | 10 +++++----- 15 files changed, 76 insertions(+), 34 deletions(-) diff --git a/src/armnn/layers/MergerLayer.cpp b/src/armnn/layers/MergerLayer.cpp index c674f64f3f..9dbfdcc35d 100644 --- a/src/armnn/layers/MergerLayer.cpp +++ b/src/armnn/layers/MergerLayer.cpp @@ -31,7 +31,7 @@ std::unique_ptr MergerLayer::CreateWorkload(const Graph& graph, const std::vector(m_Param.GetViewOrigin(i), m_Param.GetViewOrigin(i) + m_Param.GetNumDimensions())); } - return factory.CreateMerger(descriptor, PrepInfoAndDesc(descriptor, graph)); + return factory.CreateConcat(descriptor, PrepInfoAndDesc(descriptor, graph)); } void MergerLayer::CreateTensorHandles(Graph& graph, const IWorkloadFactory& factory) diff --git a/src/backends/backendsCommon/WorkloadFactory.cpp b/src/backends/backendsCommon/WorkloadFactory.cpp index 9ed0e29673..9679c35acb 100644 --- a/src/backends/backendsCommon/WorkloadFactory.cpp +++ b/src/backends/backendsCommon/WorkloadFactory.cpp @@ -822,6 +822,12 @@ std::unique_ptr IWorkloadFactory::CreateBatchToSpaceNd(const BatchToS return std::unique_ptr(); } +std::unique_ptr IWorkloadFactory::CreateConcat(const MergerQueueDescriptor& descriptor, + const WorkloadInfo& info) const +{ + return std::unique_ptr(); +} + std::unique_ptr IWorkloadFactory::CreateConstant(const ConstantQueueDescriptor& descriptor, const WorkloadInfo& info) const { diff --git a/src/backends/backendsCommon/WorkloadFactory.hpp b/src/backends/backendsCommon/WorkloadFactory.hpp index 5c07b3af6f..927d7e78bb 100644 --- a/src/backends/backendsCommon/WorkloadFactory.hpp +++ b/src/backends/backendsCommon/WorkloadFactory.hpp @@ -61,6 +61,9 @@ public: virtual std::unique_ptr CreateBatchToSpaceNd(const BatchToSpaceNdQueueDescriptor& descriptor, const WorkloadInfo& Info) const; + virtual std::unique_ptr CreateConcat(const MergerQueueDescriptor& descriptor, + const WorkloadInfo& info) const; + virtual std::unique_ptr CreateConstant(const ConstantQueueDescriptor& descriptor, const WorkloadInfo& info) const; @@ -124,6 +127,7 @@ public: virtual std::unique_ptr CreateMerge(const MergeQueueDescriptor& descriptor, const WorkloadInfo& info) const; + ARMNN_DEPRECATED_MSG("Use CreateConcat instead") virtual std::unique_ptr CreateMerger(const MergerQueueDescriptor& descriptor, const WorkloadInfo& info) const; diff --git a/src/backends/backendsCommon/test/IsLayerSupportedTestImpl.hpp b/src/backends/backendsCommon/test/IsLayerSupportedTestImpl.hpp index a7d7b094cf..3ff7376e91 100644 --- a/src/backends/backendsCommon/test/IsLayerSupportedTestImpl.hpp +++ b/src/backends/backendsCommon/test/IsLayerSupportedTestImpl.hpp @@ -364,7 +364,9 @@ DECLARE_LAYER_POLICY_2_PARAM(Mean) DECLARE_LAYER_POLICY_1_PARAM(Merge) +ARMNN_NO_DEPRECATE_WARN_BEGIN DECLARE_LAYER_POLICY_2_PARAM(Merger) +ARMNN_NO_DEPRECATE_WARN_END DECLARE_LAYER_POLICY_1_PARAM(Minimum) diff --git a/src/backends/backendsCommon/test/LayerTests.cpp b/src/backends/backendsCommon/test/LayerTests.cpp index 52c9773b9f..90aceee619 100644 --- a/src/backends/backendsCommon/test/LayerTests.cpp +++ b/src/backends/backendsCommon/test/LayerTests.cpp @@ -1244,7 +1244,7 @@ LayerTestResult LstmLayerInt16NoCifgNoPeepholeNoProjectionInt16Const workloadFactory, memoryManager, input, expectedOutput, qScale, qOffset, datatype); } -LayerTestResult MergerTest( +LayerTestResult ConcatTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { @@ -1350,7 +1350,7 @@ LayerTestResult MergerTest( data.m_ViewOrigins.push_back(window1); data.m_ViewOrigins.push_back(window2); - std::unique_ptr workload = workloadFactory.CreateMerger(data, info); + std::unique_ptr workload = workloadFactory.CreateConcat(data, info); inputHandle1->Allocate(); inputHandle2->Allocate(); @@ -3560,7 +3560,7 @@ void Concatenate( AddOutputToWorkload(queueDescriptor, workloadInfo, outputTensorInfo, outputHandle.get()); - std::unique_ptr workload = workloadFactory.CreateMerger(queueDescriptor, workloadInfo); + std::unique_ptr workload = workloadFactory.CreateConcat(queueDescriptor, workloadInfo); for (auto& inputHandle : inputHandles) { @@ -6487,7 +6487,7 @@ LayerTestResult ConstantUint8SimpleQuantizationScaleNoOffsetTest( return ConstantTestImpl(workloadFactory, memoryManager, 1.0f, 0); } -LayerTestResult MergerUint8DifferentQParamsTest( +LayerTestResult ConcatUint8DifferentQParamsTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { @@ -6613,7 +6613,7 @@ LayerTestResult MergerUint8DifferentQParamsTest( data.m_ViewOrigins.push_back(window1); data.m_ViewOrigins.push_back(window2); - std::unique_ptr workload = workloadFactory.CreateMerger(data, info); + std::unique_ptr workload = workloadFactory.CreateConcat(data, info); inputHandle1->Allocate(); inputHandle2->Allocate(); @@ -6630,7 +6630,7 @@ LayerTestResult MergerUint8DifferentQParamsTest( return ret; } -LayerTestResult MergerUint8Test( +LayerTestResult ConcatUint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { @@ -6651,7 +6651,7 @@ LayerTestResult MergerUint8Test( armnn::TensorInfo inputTensorInfo1({ inputChannels1, inputHeight1, inputWidth1 }, armnn::DataType::QuantisedAsymm8); armnn::TensorInfo inputTensorInfo2({ inputChannels2, inputHeight2, inputWidth2 }, armnn::DataType::QuantisedAsymm8); - // Arbitrary scale and offsets. They don't really matter as the merger operator doesn't dequantize/quantize them. + // Arbitrary scale and offsets. They don't really matter as the Concat operator doesn't dequantize/quantize them. const float scale = 0.13497836f; const int32_t offset = -7; @@ -6749,7 +6749,7 @@ LayerTestResult MergerUint8Test( data.m_ViewOrigins.push_back(window1); data.m_ViewOrigins.push_back(window2); - std::unique_ptr workload = workloadFactory.CreateMerger(data, info); + std::unique_ptr workload = workloadFactory.CreateConcat(data, info); inputHandle1->Allocate(); inputHandle2->Allocate(); @@ -6766,7 +6766,7 @@ LayerTestResult MergerUint8Test( return ret; } -LayerTestResult MergerUint16Test( +LayerTestResult ConcatUint16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) { @@ -6787,7 +6787,7 @@ LayerTestResult MergerUint16Test( armnn::TensorInfo inputTensorInfo1({ inputChannels1, inputHeight1, inputWidth1 }, armnn::DataType::QuantisedSymm16); armnn::TensorInfo inputTensorInfo2({ inputChannels2, inputHeight2, inputWidth2 }, armnn::DataType::QuantisedSymm16); - // Arbitrary scale and offsets. They don't really matter as the merger operator doesn't dequantize/quantize them. + // Arbitrary scale and offsets. They don't really matter as the Concat operator doesn't dequantize/quantize them. const float scale = 0.13497836f; const int32_t offset = -7; @@ -6882,7 +6882,7 @@ LayerTestResult MergerUint16Test( data.m_ViewOrigins.push_back(window1); data.m_ViewOrigins.push_back(window2); - std::unique_ptr workload = workloadFactory.CreateMerger(data, info); + std::unique_ptr workload = workloadFactory.CreateConcat(data, info); inputHandle1->Allocate(); inputHandle2->Allocate(); diff --git a/src/backends/backendsCommon/test/LayerTests.hpp b/src/backends/backendsCommon/test/LayerTests.hpp index 76dc240488..efd8c3488e 100644 --- a/src/backends/backendsCommon/test/LayerTests.hpp +++ b/src/backends/backendsCommon/test/LayerTests.hpp @@ -540,7 +540,7 @@ LayerTestResult CopyViaSplitterTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); -LayerTestResult MergerTest( +LayerTestResult ConcatTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); @@ -806,15 +806,15 @@ LayerTestResult CopyViaSplitterUint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); -LayerTestResult MergerUint8Test( +LayerTestResult ConcatUint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); -LayerTestResult MergerUint16Test( +LayerTestResult ConcatUint16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); -LayerTestResult MergerUint8DifferentQParamsTest( +LayerTestResult ConcatUint8DifferentQParamsTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); diff --git a/src/backends/cl/ClWorkloadFactory.cpp b/src/backends/cl/ClWorkloadFactory.cpp index 400926966e..e7cf1917b1 100644 --- a/src/backends/cl/ClWorkloadFactory.cpp +++ b/src/backends/cl/ClWorkloadFactory.cpp @@ -158,7 +158,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 CreateConcat(descriptor, info); } std::unique_ptr ClWorkloadFactory::CreateFullyConnected( @@ -265,6 +265,12 @@ std::unique_ptr ClWorkloadFactory::CreateL2Normalization(const L2Norm return MakeWorkload(descriptor, info); } +std::unique_ptr ClWorkloadFactory::CreateConcat(const MergerQueueDescriptor& descriptor, + const WorkloadInfo& info) const +{ + return MakeWorkload(descriptor, info); +} + std::unique_ptr ClWorkloadFactory::CreateConstant(const ConstantQueueDescriptor& descriptor, const WorkloadInfo& info) const { diff --git a/src/backends/cl/ClWorkloadFactory.hpp b/src/backends/cl/ClWorkloadFactory.hpp index 5ef7d083da..e00672f853 100644 --- a/src/backends/cl/ClWorkloadFactory.hpp +++ b/src/backends/cl/ClWorkloadFactory.hpp @@ -51,6 +51,7 @@ public: std::unique_ptr CreateSplitter(const SplitterQueueDescriptor& descriptor, const WorkloadInfo& info) const override; + ARMNN_DEPRECATED_MSG("Use CreateConcat instead") std::unique_ptr CreateMerger(const MergerQueueDescriptor& descriptor, const WorkloadInfo& info) const override; @@ -96,6 +97,9 @@ public: std::unique_ptr CreateL2Normalization(const L2NormalizationQueueDescriptor& descriptor, const WorkloadInfo& info) const override; + std::unique_ptr CreateConcat(const MergerQueueDescriptor& descriptor, + const WorkloadInfo& info) const override; + std::unique_ptr CreateConstant(const ConstantQueueDescriptor& descriptor, const WorkloadInfo& info) const override; diff --git a/src/backends/cl/test/ClLayerTests.cpp b/src/backends/cl/test/ClLayerTests.cpp index 4d58778c93..fe88b39732 100644 --- a/src/backends/cl/test/ClLayerTests.cpp +++ b/src/backends/cl/test/ClLayerTests.cpp @@ -130,9 +130,9 @@ ARMNN_AUTO_TEST_CASE(SimpleSplitterUint8, SplitterUint8Test) ARMNN_AUTO_TEST_CASE(CopyViaSplitter, CopyViaSplitterTest) ARMNN_AUTO_TEST_CASE(CopyViaSplitterUint8, CopyViaSplitterUint8Test) -// Merger -ARMNN_AUTO_TEST_CASE(SimpleMerger, MergerTest) -ARMNN_AUTO_TEST_CASE(MergerUint8, MergerUint8Test) +// Concat +ARMNN_AUTO_TEST_CASE(SimpleConcat, ConcatTest) +ARMNN_AUTO_TEST_CASE(ConcatUint8, ConcatUint8Test) // Normalization ARMNN_AUTO_TEST_CASE(SimpleNormalizationAcross, SimpleNormalizationAcrossTest) diff --git a/src/backends/neon/NeonWorkloadFactory.cpp b/src/backends/neon/NeonWorkloadFactory.cpp index c49ff3a36c..3005dae94c 100644 --- a/src/backends/neon/NeonWorkloadFactory.cpp +++ b/src/backends/neon/NeonWorkloadFactory.cpp @@ -123,7 +123,7 @@ std::unique_ptr NeonWorkloadFactory::CreateSplitter(const SplitterQue std::unique_ptr NeonWorkloadFactory::CreateMerger(const MergerQueueDescriptor& descriptor, const WorkloadInfo& info) const { - return std::make_unique(descriptor, info); + return CreateConcat(descriptor, info); } std::unique_ptr NeonWorkloadFactory::CreateFullyConnected( @@ -233,6 +233,12 @@ std::unique_ptr NeonWorkloadFactory::CreateL2Normalization(const L2No m_MemoryManager->GetIntraLayerManager()); } +std::unique_ptr NeonWorkloadFactory::CreateConcat(const MergerQueueDescriptor& descriptor, + const WorkloadInfo& info) const +{ + return std::make_unique(descriptor, info); +} + std::unique_ptr NeonWorkloadFactory::CreateConstant(const ConstantQueueDescriptor& descriptor, const WorkloadInfo& info) const { diff --git a/src/backends/neon/NeonWorkloadFactory.hpp b/src/backends/neon/NeonWorkloadFactory.hpp index dd8d9a2d7d..60dbb90b60 100644 --- a/src/backends/neon/NeonWorkloadFactory.hpp +++ b/src/backends/neon/NeonWorkloadFactory.hpp @@ -52,6 +52,7 @@ public: std::unique_ptr CreateSplitter(const SplitterQueueDescriptor& descriptor, const WorkloadInfo& info) const override; + ARMNN_DEPRECATED_MSG("Use CreateConcat instead") std::unique_ptr CreateMerger(const MergerQueueDescriptor& descriptor, const WorkloadInfo& info) const override; @@ -97,6 +98,9 @@ public: std::unique_ptr CreateL2Normalization(const L2NormalizationQueueDescriptor& descriptor, const WorkloadInfo& info) const override; + std::unique_ptr CreateConcat(const MergerQueueDescriptor& descriptor, + const WorkloadInfo& info) const override; + std::unique_ptr CreateConstant(const ConstantQueueDescriptor& descriptor, const WorkloadInfo& info) const override; diff --git a/src/backends/neon/test/NeonLayerTests.cpp b/src/backends/neon/test/NeonLayerTests.cpp index 58618b4298..48e411daee 100644 --- a/src/backends/neon/test/NeonLayerTests.cpp +++ b/src/backends/neon/test/NeonLayerTests.cpp @@ -304,9 +304,9 @@ ARMNN_AUTO_TEST_CASE(SimpleSplitterUint8, SplitterUint8Test) ARMNN_AUTO_TEST_CASE(CopyViaSplitter, CopyViaSplitterTest) ARMNN_AUTO_TEST_CASE(CopyViaSplitterUint8, CopyViaSplitterUint8Test) -// Merger -ARMNN_AUTO_TEST_CASE(SimpleMerger, MergerTest) -ARMNN_AUTO_TEST_CASE(MergerUint8, MergerUint8Test) +// Concat +ARMNN_AUTO_TEST_CASE(SimpleConcat, ConcatTest) +ARMNN_AUTO_TEST_CASE(ConcatUint8, ConcatUint8Test) // Fully Connected ARMNN_AUTO_TEST_CASE(SimpleFullyConnected, FullyConnectedFloat32Test, false, false) diff --git a/src/backends/reference/RefWorkloadFactory.cpp b/src/backends/reference/RefWorkloadFactory.cpp index 45c43a92ac..65448568f7 100644 --- a/src/backends/reference/RefWorkloadFactory.cpp +++ b/src/backends/reference/RefWorkloadFactory.cpp @@ -135,11 +135,7 @@ std::unique_ptr RefWorkloadFactory::CreateSplitter(const SplitterQueu std::unique_ptr RefWorkloadFactory::CreateMerger(const MergerQueueDescriptor& descriptor, const WorkloadInfo& info) const { - if (IsFloat16(info)) - { - return MakeWorkload(descriptor, info); - } - return std::make_unique(descriptor, info); + return CreateConcat(descriptor, info); } std::unique_ptr RefWorkloadFactory::CreateFullyConnected( @@ -250,6 +246,16 @@ std::unique_ptr RefWorkloadFactory::CreateL2Normalization(const L2Nor return MakeWorkload(descriptor, info); } +std::unique_ptr RefWorkloadFactory::CreateConcat(const MergerQueueDescriptor& descriptor, + const WorkloadInfo& info) const +{ + if (IsFloat16(info)) + { + return MakeWorkload(descriptor, info); + } + return std::make_unique(descriptor, info); +} + std::unique_ptr RefWorkloadFactory::CreateConstant(const ConstantQueueDescriptor& descriptor, const WorkloadInfo& info) const { diff --git a/src/backends/reference/RefWorkloadFactory.hpp b/src/backends/reference/RefWorkloadFactory.hpp index cbfcbfa363..985b634d77 100644 --- a/src/backends/reference/RefWorkloadFactory.hpp +++ b/src/backends/reference/RefWorkloadFactory.hpp @@ -69,6 +69,7 @@ public: std::unique_ptr CreateSplitter(const SplitterQueueDescriptor& descriptor, const WorkloadInfo& info) const override; + ARMNN_DEPRECATED_MSG("Use CreateConcat instead") std::unique_ptr CreateMerger(const MergerQueueDescriptor& descriptor, const WorkloadInfo& info) const override; @@ -114,6 +115,9 @@ public: std::unique_ptr CreateL2Normalization(const L2NormalizationQueueDescriptor& descriptor, const WorkloadInfo& info) const override; + std::unique_ptr CreateConcat(const MergerQueueDescriptor& descriptor, + const WorkloadInfo& info) const override; + std::unique_ptr CreateConstant(const ConstantQueueDescriptor& descriptor, const WorkloadInfo& info) const override; diff --git a/src/backends/reference/test/RefLayerTests.cpp b/src/backends/reference/test/RefLayerTests.cpp index 55a25167f5..62e05a9db3 100644 --- a/src/backends/reference/test/RefLayerTests.cpp +++ b/src/backends/reference/test/RefLayerTests.cpp @@ -242,11 +242,11 @@ ARMNN_AUTO_TEST_CASE(SimpleSplitterUint8, SplitterUint8Test) ARMNN_AUTO_TEST_CASE(CopyViaSplitter, CopyViaSplitterTest) ARMNN_AUTO_TEST_CASE(CopyViaSplitterUint8, CopyViaSplitterUint8Test) -// Merger -ARMNN_AUTO_TEST_CASE(SimpleMerger, MergerTest) -ARMNN_AUTO_TEST_CASE(MergerUint8, MergerUint8Test) -ARMNN_AUTO_TEST_CASE(MergerUint8DifferentQParams, MergerUint8DifferentQParamsTest) -ARMNN_AUTO_TEST_CASE(MergerUint16, MergerUint16Test) +// Concat +ARMNN_AUTO_TEST_CASE(SimpleConcat, ConcatTest) +ARMNN_AUTO_TEST_CASE(ConcatUint8, ConcatUint8Test) +ARMNN_AUTO_TEST_CASE(ConcatUint8DifferentQParams, ConcatUint8DifferentQParamsTest) +ARMNN_AUTO_TEST_CASE(ConcatUint16, ConcatUint16Test) // Add ARMNN_AUTO_TEST_CASE(SimpleAdd, AdditionTest) -- cgit v1.2.1