diff options
author | Mike Kelly <mike.kelly@arm.com> | 2023-07-18 12:03:41 +0100 |
---|---|---|
committer | mike.kelly <mike.kelly@arm.com> | 2023-07-21 16:01:50 +0000 |
commit | b6de7a1444c09c0eb44c84a923c45c041b1f6092 (patch) | |
tree | c1d9e9241854e7d9bbb09da4f4a6f4652ff5c66c /src/backends | |
parent | c32adef195b523854144737ca05180235f5ca824 (diff) | |
download | armnn-b6de7a1444c09c0eb44c84a923c45c041b1f6092.tar.gz |
IVGCVSW-7830 Clean up
* Follow up review to clean up whitespace and copyright errors mentioned
in https://review.mlplatform.org/c/ml/armnn/+/9885
* Added BinaryElementwiseOperation to .dot files
* Refactored ConnectedToSplitterWithMoreThan4Dims function to more
generally useful ConnectedToLayerType function
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I0e3d0895888f3a3f0a9758ce30bc031aba50812b
Diffstat (limited to 'src/backends')
-rw-r--r-- | src/backends/backendsCommon/OptimizationViews.cpp | 2 | ||||
-rw-r--r-- | src/backends/backendsCommon/SubgraphUtils.hpp | 15 | ||||
-rw-r--r-- | src/backends/backendsCommon/test/OptimizedNetworkTests.cpp | 4 | ||||
-rw-r--r-- | src/backends/cl/backend.mk | 2 | ||||
-rw-r--r-- | src/backends/neon/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/backends/neon/NeonBackend.cpp | 2 | ||||
-rw-r--r-- | src/backends/neon/NeonTensorHandle.cpp | 6 | ||||
-rw-r--r-- | src/backends/neon/backend.mk | 2 | ||||
-rw-r--r-- | src/backends/neon/workloads/CMakeLists.txt | 2 |
9 files changed, 20 insertions, 17 deletions
diff --git a/src/backends/backendsCommon/OptimizationViews.cpp b/src/backends/backendsCommon/OptimizationViews.cpp index a358f88520..c9a8c7dde5 100644 --- a/src/backends/backendsCommon/OptimizationViews.cpp +++ b/src/backends/backendsCommon/OptimizationViews.cpp @@ -64,7 +64,7 @@ bool OptimizationViews::Validate(const armnn::SubgraphView& originalSubgraph) co for (auto& substitution : m_SuccesfulOptimizations) { bool validSubstitution = true; - const SubgraphView &replacement = substitution.m_ReplacementSubgraph; + const SubgraphView& replacement = substitution.m_ReplacementSubgraph; const SubgraphView& old = substitution.m_SubstitutableSubgraph; validSubstitution &= replacement.GetIInputSlots().size() == old.GetIInputSlots().size(); validSubstitution &= replacement.GetIOutputSlots().size() == old.GetIOutputSlots().size(); diff --git a/src/backends/backendsCommon/SubgraphUtils.hpp b/src/backends/backendsCommon/SubgraphUtils.hpp index 823da76f29..9f2cdba6ef 100644 --- a/src/backends/backendsCommon/SubgraphUtils.hpp +++ b/src/backends/backendsCommon/SubgraphUtils.hpp @@ -33,7 +33,7 @@ public: { case armnn::LayerType::BatchMatMul: { - auto desc = static_cast<const armnn::BatchMatMulDescriptor &>(descriptor); + auto desc = static_cast<const armnn::BatchMatMulDescriptor&>(descriptor); m_Result = desc.m_DataLayoutX == DataLayout::NCHW || desc.m_DataLayoutY == DataLayout::NCHW; break; } @@ -219,12 +219,14 @@ inline bool ConnectedToLayerWithNCHW(Layer* baseLayer) return false; } -/// Checks if the Layer is connected to a Splitter Layer through a Tensor that has more than 4 dimensions. -inline bool ConnectedToSplitterWithMoreThan4Dims(Layer* baseLayer) +/// Checks the Layer's Connections to see if it's connected to a Layer with the provided layerType. If dimSize is +/// provided will also check if the connecting Tensor has more than that number of dimensions +inline bool ConnectedToLayerType(Layer* baseLayer, LayerType layerType, unsigned int dimSize = 0) { Layer& parentLayer = baseLayer->GetInputSlot(0).GetConnectedOutputSlot()->GetOwningLayer(); - TensorInfo parentTensorInfo = baseLayer->GetInputSlot(0).GetConnectedOutputSlot()->GetTensorInfo(); - if (parentTensorInfo.GetNumDimensions() > 4 && parentLayer.GetType() == LayerType::Splitter) + TensorInfo parentTensorInfo = baseLayer->GetInputSlot(0).GetTensorInfo(); + + if (parentTensorInfo.GetNumDimensions() > dimSize && parentLayer.GetType() == layerType) { return true; } @@ -232,7 +234,8 @@ inline bool ConnectedToSplitterWithMoreThan4Dims(Layer* baseLayer) { Layer& nextLayer = baseLayer->GetOutputSlot(0).GetConnection(i)->GetOwningLayer(); TensorInfo nextTensorInfo = baseLayer->GetOutputSlot(0).GetConnection(i)->GetTensorInfo(); - if (nextTensorInfo.GetNumDimensions() > 4 && nextLayer.GetType() == LayerType::Splitter) + + if (nextTensorInfo.GetNumDimensions() > dimSize && nextLayer.GetType() == layerType) { return true; } diff --git a/src/backends/backendsCommon/test/OptimizedNetworkTests.cpp b/src/backends/backendsCommon/test/OptimizedNetworkTests.cpp index ce1eea4194..d8e8f60cd8 100644 --- a/src/backends/backendsCommon/test/OptimizedNetworkTests.cpp +++ b/src/backends/backendsCommon/test/OptimizedNetworkTests.cpp @@ -54,8 +54,8 @@ TEST_CASE("SerializeToDot") " edge [fontsize=8 fontcolor=\"blue\" fontname=\"arial-bold\"];\n" " " << inputId << " [label=\"{Input|Guid : " << inputId << "\\lLayerType : Input\\l" "BackendID : CpuRef\\l}\"];\n" - " " << addId << " [label=\"{ElementwiseBinary|Guid : " << addId << "\\lLayerType : ElementwiseBinary\\l" - "BackendID : CpuRef\\l}\"];\n" + " " << addId << " [label=\"{ElementwiseBinary|BinaryOperation : Add\\lGuid : " << addId << + "\\lLayerType : ElementwiseBinary\\lBackendID : CpuRef\\l}\"];\n" " " << outputId << " [label=\"{Output|Guid : " << outputId << "\\lLayerType : Output\\l" "BackendID : CpuRef\\l}\"];\n" " " << inputId << " -> " << addId << " [label=< [4] >];\n" diff --git a/src/backends/cl/backend.mk b/src/backends/cl/backend.mk index f4b9fac740..5ceab700e4 100644 --- a/src/backends/cl/backend.mk +++ b/src/backends/cl/backend.mk @@ -1,5 +1,5 @@ # -# Copyright © 2017,2023 ARM Ltd and Contributors. All rights reserved. +# Copyright © 2017-2023 ARM Ltd and Contributors. All rights reserved. # SPDX-License-Identifier: MIT # diff --git a/src/backends/neon/CMakeLists.txt b/src/backends/neon/CMakeLists.txt index 5934221ec1..1c077731c4 100644 --- a/src/backends/neon/CMakeLists.txt +++ b/src/backends/neon/CMakeLists.txt @@ -1,5 +1,5 @@ # -# Copyright © 2017 Arm Ltd. All rights reserved. +# Copyright © 2017-2020,2022-2023 Arm Ltd. All rights reserved. # SPDX-License-Identifier: MIT # diff --git a/src/backends/neon/NeonBackend.cpp b/src/backends/neon/NeonBackend.cpp index 60e25672ae..5fd1202659 100644 --- a/src/backends/neon/NeonBackend.cpp +++ b/src/backends/neon/NeonBackend.cpp @@ -518,7 +518,7 @@ OptimizationViews NeonBackend::OptimizeSubgraphView(const SubgraphView& subgraph } // Cannot remove a Reshape if it's connected to a SplitterLayer through a Tensor that has more than // 4 dimensions - if (ConnectedToSplitterWithMoreThan4Dims(baseLayer)) + if (ConnectedToLayerType(baseLayer, LayerType::Splitter, 4)) { continue; } diff --git a/src/backends/neon/NeonTensorHandle.cpp b/src/backends/neon/NeonTensorHandle.cpp index 819805aa59..b1ab946324 100644 --- a/src/backends/neon/NeonTensorHandle.cpp +++ b/src/backends/neon/NeonTensorHandle.cpp @@ -29,17 +29,17 @@ NeonTensorDecorator::NeonTensorDecorator(arm_compute::ITensor *parent, const Ten m_Original = parent; } -arm_compute::ITensorInfo *NeonTensorDecorator::info() const +arm_compute::ITensorInfo* NeonTensorDecorator::info() const { return &m_TensorInfo; } -arm_compute::ITensorInfo *NeonTensorDecorator::info() +arm_compute::ITensorInfo* NeonTensorDecorator::info() { return &m_TensorInfo; } -uint8_t *NeonTensorDecorator::buffer() const +uint8_t* NeonTensorDecorator::buffer() const { return m_Original->buffer(); } diff --git a/src/backends/neon/backend.mk b/src/backends/neon/backend.mk index 4150845f58..0e99c683cf 100644 --- a/src/backends/neon/backend.mk +++ b/src/backends/neon/backend.mk @@ -1,5 +1,5 @@ # -# Copyright © 2017,2023 ARM Ltd and Contributors. All rights reserved. +# Copyright © 2017-2023 ARM Ltd and Contributors. All rights reserved. # SPDX-License-Identifier: MIT # diff --git a/src/backends/neon/workloads/CMakeLists.txt b/src/backends/neon/workloads/CMakeLists.txt index f3f12842c1..53f2be750a 100644 --- a/src/backends/neon/workloads/CMakeLists.txt +++ b/src/backends/neon/workloads/CMakeLists.txt @@ -1,5 +1,5 @@ # -# Copyright © 2017,2023 Arm Ltd and Contributors. All rights reserved. +# Copyright © 2017-2020,2022-2023 Arm Ltd and Contributors. All rights reserved. # SPDX-License-Identifier: MIT # |