From 5e71984463ee83e75ddd5aee1f890d49b2bd1756 Mon Sep 17 00:00:00 2001 From: Sadik Armagan Date: Fri, 28 Aug 2020 12:17:33 +0100 Subject: IVGCVSW-5257 'Remove CreateTensorHandle in the test for layers beginning with S' * Re-factored SplaceToDepth, Splitter, Stack and StridedSlice unit tests to use TensorHandleFactory for creating TensorHandles Signed-off-by: Sadik Armagan Change-Id: Ib22bb09cd2120c02c548099eaa06db6e6f00b15e --- .../test/layerTests/SpaceToDepthTestImpl.cpp | 65 ++-- .../test/layerTests/SpaceToDepthTestImpl.hpp | 32 +- .../test/layerTests/SplitterTestImpl.cpp | 92 +++-- .../test/layerTests/SplitterTestImpl.hpp | 26 +- .../test/layerTests/StackTestImpl.cpp | 65 ++-- .../test/layerTests/StackTestImpl.hpp | 23 +- .../test/layerTests/StridedSliceTestImpl.cpp | 415 ++++++++++++++------- .../test/layerTests/StridedSliceTestImpl.hpp | 140 ++++--- 8 files changed, 569 insertions(+), 289 deletions(-) (limited to 'src/backends/backendsCommon/test') diff --git a/src/backends/backendsCommon/test/layerTests/SpaceToDepthTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/SpaceToDepthTestImpl.cpp index 74407bb9d3..8ff9157ec0 100644 --- a/src/backends/backendsCommon/test/layerTests/SpaceToDepthTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/SpaceToDepthTestImpl.cpp @@ -23,6 +23,7 @@ template LayerTestResult SpaceToDepthTestImpl( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, armnn::TensorInfo& inputTensorInfo, armnn::TensorInfo& outputTensorInfo, std::vector& inputData, @@ -65,10 +66,8 @@ LayerTestResult SpaceToDepthTestImpl( ret.outputExpected = MakeTensor(outputTensorInfo, armnnUtils::QuantizedVector(outputExpectedData, qScale, qOffset)); - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr inputHandle = workloadFactory.CreateTensorHandle(inputTensorInfo); - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(outputTensorInfo); - ARMNN_NO_DEPRECATE_WARN_END + std::unique_ptr inputHandle = tensorHandleFactory.CreateTensorHandle(inputTensorInfo); + std::unique_ptr outputHandle = tensorHandleFactory.CreateTensorHandle(outputTensorInfo); armnn::WorkloadInfo info; AddInputToWorkload(descriptor, info, inputTensorInfo, inputHandle.get()); @@ -92,6 +91,7 @@ template> LayerTestResult SpaceToDepthSimpleTest1( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, armnn::DataLayout dataLayout = armnn::DataLayout::NHWC) { unsigned int inputShape[] = {1, 2, 2, 1}; @@ -118,13 +118,15 @@ LayerTestResult SpaceToDepthSimpleTest1( outputTensorInfo = armnn::TensorInfo(4, outputShape, ArmnnType); return SpaceToDepthTestImpl( - workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected, desc); + workloadFactory, memoryManager, tensorHandleFactory, + inputTensorInfo, outputTensorInfo, input, outputExpected, desc); } template> LayerTestResult SpaceToDepthSimpleTest2( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, armnn::DataLayout dataLayout = armnn::DataLayout::NHWC) { unsigned int inputShape[] = {1, 2, 2, 2}; @@ -151,102 +153,123 @@ LayerTestResult SpaceToDepthSimpleTest2( outputTensorInfo = armnn::TensorInfo(4, outputShape, ArmnnType); return SpaceToDepthTestImpl( - workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected, desc); + workloadFactory, memoryManager, tensorHandleFactory, + inputTensorInfo, outputTensorInfo, input, outputExpected, desc); } } // anonymous namespace LayerTestResult SpaceToDepthNhwcAsymmQ8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return SpaceToDepthSimpleTest1( workloadFactory, - memoryManager); + memoryManager, + tensorHandleFactory); } LayerTestResult SpaceToDepthNchwAsymmQ8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return SpaceToDepthSimpleTest1( workloadFactory, memoryManager, + tensorHandleFactory, armnn::DataLayout::NCHW); } LayerTestResult SpaceToDepthNhwcFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return SpaceToDepthSimpleTest1( workloadFactory, - memoryManager); + memoryManager, + tensorHandleFactory); } LayerTestResult SpaceToDepthNchwFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return SpaceToDepthSimpleTest1( workloadFactory, memoryManager, + tensorHandleFactory, armnn::DataLayout::NCHW); } LayerTestResult SpaceToDepthNhwcFloat32Test1( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return SpaceToDepthSimpleTest1( workloadFactory, - memoryManager); + memoryManager, + tensorHandleFactory); } LayerTestResult SpaceToDepthNchwFloat32Test1( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return SpaceToDepthSimpleTest1( workloadFactory, memoryManager, + tensorHandleFactory, armnn::DataLayout::NCHW); } LayerTestResult SpaceToDepthNhwcFloat32Test2( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return SpaceToDepthSimpleTest2( workloadFactory, - memoryManager); + memoryManager, + tensorHandleFactory); } LayerTestResult SpaceToDepthNchwFloat32Test2( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return SpaceToDepthSimpleTest2( workloadFactory, memoryManager, + tensorHandleFactory, armnn::DataLayout::NCHW); } LayerTestResult SpaceToDepthNhwcQSymm16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return SpaceToDepthSimpleTest2( workloadFactory, - memoryManager); + memoryManager, + tensorHandleFactory); } LayerTestResult SpaceToDepthNchwQSymm16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return SpaceToDepthSimpleTest2( workloadFactory, memoryManager, + tensorHandleFactory, armnn::DataLayout::NCHW); } diff --git a/src/backends/backendsCommon/test/layerTests/SpaceToDepthTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/SpaceToDepthTestImpl.hpp index c2f70e9d49..29f2646816 100644 --- a/src/backends/backendsCommon/test/layerTests/SpaceToDepthTestImpl.hpp +++ b/src/backends/backendsCommon/test/layerTests/SpaceToDepthTestImpl.hpp @@ -1,5 +1,5 @@ // -// Copyright © 2017 Arm Ltd. All rights reserved. +// Copyright © 2017 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once @@ -13,40 +13,50 @@ LayerTestResult SpaceToDepthNchwAsymmQ8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult SpaceToDepthNhwcAsymmQ8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult SpaceToDepthNchwFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult SpaceToDepthNhwcFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult SpaceToDepthNhwcFloat32Test1( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult SpaceToDepthNchwFloat32Test1( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult SpaceToDepthNhwcFloat32Test2( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult SpaceToDepthNchwFloat32Test2( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult SpaceToDepthNhwcQSymm16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult SpaceToDepthNchwQSymm16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); diff --git a/src/backends/backendsCommon/test/layerTests/SplitterTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/SplitterTestImpl.cpp index 911696b9da..e2040b5b20 100644 --- a/src/backends/backendsCommon/test/layerTests/SplitterTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/SplitterTestImpl.cpp @@ -21,6 +21,7 @@ template> std::vector> SplitterTestCommon( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale = 0.0f, int32_t qOffset = 0) { @@ -179,31 +180,28 @@ std::vector> SplitterTestCommon( std::vector wOrigin4 = {1, 0, 0}; //Extent of the window is defined by size of output[3]. armnn::SplitterQueueDescriptor::ViewOrigin window4(wOrigin4); - bool subTensorsSupported = workloadFactory.SupportsSubTensors(); - - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr inputHandle = workloadFactory.CreateTensorHandle(inputTensorInfo); + bool subTensorsSupported = tensorHandleFactory.SupportsSubTensors(); + std::unique_ptr inputHandle = tensorHandleFactory.CreateTensorHandle(inputTensorInfo); std::unique_ptr outputHandle1 = subTensorsSupported ? - workloadFactory.CreateSubTensorHandle(*inputHandle, outputTensorInfo1.GetShape(), wOrigin1.data()) : - workloadFactory.CreateTensorHandle(outputTensorInfo1); + tensorHandleFactory.CreateSubTensorHandle(*inputHandle, outputTensorInfo1.GetShape(), wOrigin1.data()) : + tensorHandleFactory.CreateTensorHandle(outputTensorInfo1); std::unique_ptr outputHandle2 = subTensorsSupported ? - workloadFactory.CreateSubTensorHandle(*inputHandle, outputTensorInfo2.GetShape(), wOrigin2.data()) : - workloadFactory.CreateTensorHandle(outputTensorInfo2); + tensorHandleFactory.CreateSubTensorHandle(*inputHandle, outputTensorInfo2.GetShape(), wOrigin2.data()) : + tensorHandleFactory.CreateTensorHandle(outputTensorInfo2); std::unique_ptr outputHandle3 = subTensorsSupported ? - workloadFactory.CreateSubTensorHandle(*outputHandle2, outputTensorInfo3.GetShape(), wOrigin3.data()) : - workloadFactory.CreateTensorHandle(outputTensorInfo3); + tensorHandleFactory.CreateSubTensorHandle(*outputHandle2, outputTensorInfo3.GetShape(), wOrigin3.data()) : + tensorHandleFactory.CreateTensorHandle(outputTensorInfo3); std::unique_ptr outputHandle4 = subTensorsSupported ? - workloadFactory.CreateSubTensorHandle(*outputHandle2, outputTensorInfo4.GetShape(), wOrigin4.data()) : - workloadFactory.CreateTensorHandle(outputTensorInfo4); - ARMNN_NO_DEPRECATE_WARN_END + tensorHandleFactory.CreateSubTensorHandle(*outputHandle2, outputTensorInfo4.GetShape(), wOrigin4.data()) : + tensorHandleFactory.CreateTensorHandle(outputTensorInfo4); // Do the first split armnn::SplitterQueueDescriptor data; @@ -257,6 +255,7 @@ template> LayerTestResult CopyViaSplitterTestImpl( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset) { IgnoreUnused(memoryManager); @@ -290,16 +289,13 @@ LayerTestResult CopyViaSplitterTestImpl( std::vector origin = { 0, 0, 0 }; armnn::SplitterQueueDescriptor::ViewOrigin window(origin); - const bool subTensorsSupported = workloadFactory.SupportsSubTensors(); - - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr inputHandle = workloadFactory.CreateTensorHandle(tensorInfo); + const bool subTensorsSupported = tensorHandleFactory.SupportsSubTensors(); + std::unique_ptr inputHandle = tensorHandleFactory.CreateTensorHandle(tensorInfo); std::unique_ptr outputHandle = subTensorsSupported ? - workloadFactory.CreateSubTensorHandle(*inputHandle, tensorInfo.GetShape(), origin.data()) : - workloadFactory.CreateTensorHandle(tensorInfo); - ARMNN_NO_DEPRECATE_WARN_END + tensorHandleFactory.CreateSubTensorHandle(*inputHandle, tensorInfo.GetShape(), origin.data()) : + tensorHandleFactory.CreateTensorHandle(tensorInfo); armnn::SplitterQueueDescriptor data; armnn::WorkloadInfo info; @@ -328,56 +324,80 @@ LayerTestResult CopyViaSplitterTestImpl( std::vector> SplitterFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return SplitterTestCommon(workloadFactory, memoryManager); + return SplitterTestCommon(workloadFactory, memoryManager, tensorHandleFactory); } std::vector> SplitterFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return SplitterTestCommon(workloadFactory, memoryManager); + return SplitterTestCommon(workloadFactory, memoryManager, tensorHandleFactory); } std::vector> SplitterUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return SplitterTestCommon(workloadFactory, memoryManager, 1.0f, 0); + return SplitterTestCommon(workloadFactory, memoryManager, tensorHandleFactory, 1.0f, 0); } std::vector> SplitterInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return SplitterTestCommon(workloadFactory, memoryManager, 1.0f, 0); + return SplitterTestCommon(workloadFactory, memoryManager, tensorHandleFactory, 1.0f, 0); } LayerTestResult CopyViaSplitterFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return CopyViaSplitterTestImpl(workloadFactory, memoryManager, 0.0f, 0); + return CopyViaSplitterTestImpl(workloadFactory, + memoryManager, + tensorHandleFactory, + 0.0f, + 0); } LayerTestResult CopyViaSplitterFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return CopyViaSplitterTestImpl(workloadFactory, memoryManager, 0.0f, 0); + return CopyViaSplitterTestImpl(workloadFactory, + memoryManager, + tensorHandleFactory, + 0.0f, + 0); } LayerTestResult CopyViaSplitterUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return CopyViaSplitterTestImpl(workloadFactory, memoryManager, 1.0f, 0); + return CopyViaSplitterTestImpl(workloadFactory, + memoryManager, + tensorHandleFactory, + 1.0f, + 0); } LayerTestResult CopyViaSplitterInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return CopyViaSplitterTestImpl(workloadFactory, memoryManager, 1.0f, 0); + return CopyViaSplitterTestImpl(workloadFactory, + memoryManager, + tensorHandleFactory, + 1.0f, + 0); } diff --git a/src/backends/backendsCommon/test/layerTests/SplitterTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/SplitterTestImpl.hpp index b9b3b6653c..400720088c 100644 --- a/src/backends/backendsCommon/test/layerTests/SplitterTestImpl.hpp +++ b/src/backends/backendsCommon/test/layerTests/SplitterTestImpl.hpp @@ -1,5 +1,5 @@ // -// Copyright © 2017 Arm Ltd. All rights reserved. +// Copyright © 2017 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // @@ -14,32 +14,40 @@ std::vector> SplitterFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult CopyViaSplitterFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); std::vector> SplitterFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult CopyViaSplitterFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); std::vector> SplitterUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); std::vector> SplitterInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult CopyViaSplitterUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult CopyViaSplitterInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); diff --git a/src/backends/backendsCommon/test/layerTests/StackTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/StackTestImpl.cpp index f523afb43c..16e709d528 100644 --- a/src/backends/backendsCommon/test/layerTests/StackTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/StackTestImpl.cpp @@ -24,6 +24,7 @@ template LayerTestResult StackTestHelper( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const armnn::TensorInfo& inputTensorInfo, const armnn::TensorInfo& outputTensorInfo, unsigned int axis, @@ -42,13 +43,11 @@ LayerTestResult StackTestHelper( result.outputExpected = MakeTensor(outputTensorInfo, outputExpectedData); std::vector> inputHandles; - ARMNN_NO_DEPRECATE_WARN_BEGIN for (unsigned int i = 0; i < numInputs; ++i) { - inputHandles.push_back(workloadFactory.CreateTensorHandle(inputTensorInfo)); + inputHandles.push_back(tensorHandleFactory.CreateTensorHandle(inputTensorInfo)); } - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(outputTensorInfo); - ARMNN_NO_DEPRECATE_WARN_END + std::unique_ptr outputHandle = tensorHandleFactory.CreateTensorHandle(outputTensorInfo); armnn::StackQueueDescriptor descriptor; descriptor.m_Parameters.m_Axis = axis; @@ -85,7 +84,8 @@ LayerTestResult StackTestHelper( template> LayerTestResult StackAxis0TestImpl( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo ({ 3, 2, 3 }, ArmnnType); armnn::TensorInfo outputTensorInfo({ 2, 3, 2, 3 }, ArmnnType); @@ -141,6 +141,7 @@ LayerTestResult StackAxis0TestImpl( return StackTestHelper( workloadFactory, memoryManager, + tensorHandleFactory, inputTensorInfo, outputTensorInfo, 0U, @@ -152,7 +153,8 @@ LayerTestResult StackAxis0TestImpl( template> LayerTestResult StackOutput4DAxis1TestImpl( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo ({ 3, 2, 3 }, ArmnnType); armnn::TensorInfo outputTensorInfo({ 3, 2, 2, 3 }, ArmnnType); @@ -209,6 +211,7 @@ LayerTestResult StackOutput4DAxis1TestImpl( return StackTestHelper( workloadFactory, memoryManager, + tensorHandleFactory, inputTensorInfo, outputTensorInfo, 1U, @@ -220,7 +223,8 @@ LayerTestResult StackOutput4DAxis1TestImpl( template> LayerTestResult StackOutput4DAxis2TestImpl( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo ({ 3, 2, 3 }, ArmnnType); armnn::TensorInfo outputTensorInfo({ 3, 2, 2, 3 }, ArmnnType); @@ -275,6 +279,7 @@ LayerTestResult StackOutput4DAxis2TestImpl( return StackTestHelper( workloadFactory, memoryManager, + tensorHandleFactory, inputTensorInfo, outputTensorInfo, 2U, @@ -286,7 +291,8 @@ LayerTestResult StackOutput4DAxis2TestImpl( template> LayerTestResult StackOutput4DAxis3TestImpl( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo ({ 3, 2, 3 }, ArmnnType); armnn::TensorInfo outputTensorInfo({ 3, 2, 3, 2 }, ArmnnType); @@ -349,6 +355,7 @@ LayerTestResult StackOutput4DAxis3TestImpl( return StackTestHelper( workloadFactory, memoryManager, + tensorHandleFactory, inputTensorInfo, outputTensorInfo, 3U, @@ -360,7 +367,8 @@ LayerTestResult StackOutput4DAxis3TestImpl( template> LayerTestResult StackOutput3DInputs3TestImpl( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo ({ 3, 3 }, ArmnnType); armnn::TensorInfo outputTensorInfo({ 3, 3, 3 }, ArmnnType); @@ -406,6 +414,7 @@ LayerTestResult StackOutput3DInputs3TestImpl( return StackTestHelper( workloadFactory, memoryManager, + tensorHandleFactory, inputTensorInfo, outputTensorInfo, 1U, @@ -417,7 +426,8 @@ LayerTestResult StackOutput3DInputs3TestImpl( template> LayerTestResult StackOutput5DTestImpl( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo ({ 2, 2, 2, 3 }, ArmnnType); armnn::TensorInfo outputTensorInfo({ 2, 2, 2, 2, 3 }, ArmnnType); @@ -491,6 +501,7 @@ LayerTestResult StackOutput5DTestImpl( return StackTestHelper( workloadFactory, memoryManager, + tensorHandleFactory, inputTensorInfo, outputTensorInfo, 1U, @@ -505,49 +516,56 @@ LayerTestResult StackOutput5DTestImpl( LayerTestResult StackAxis0Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StackAxis0TestImpl(workloadFactory, memoryManager); + return StackAxis0TestImpl(workloadFactory, memoryManager, tensorHandleFactory); } LayerTestResult StackOutput4DAxis1Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StackOutput4DAxis1TestImpl(workloadFactory, memoryManager); + return StackOutput4DAxis1TestImpl(workloadFactory, memoryManager, tensorHandleFactory); } LayerTestResult StackOutput4DAxis2Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StackOutput4DAxis2TestImpl(workloadFactory, memoryManager); + return StackOutput4DAxis2TestImpl(workloadFactory, memoryManager, tensorHandleFactory); } LayerTestResult StackOutput4DAxis3Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StackOutput4DAxis3TestImpl(workloadFactory, memoryManager); + return StackOutput4DAxis3TestImpl(workloadFactory, memoryManager, tensorHandleFactory); } LayerTestResult StackOutput3DInputs3Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StackOutput3DInputs3TestImpl(workloadFactory, memoryManager); + return StackOutput3DInputs3TestImpl(workloadFactory, memoryManager, tensorHandleFactory); } LayerTestResult StackOutput5DFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StackOutput5DTestImpl(workloadFactory, memoryManager); + return StackOutput5DTestImpl(workloadFactory, memoryManager, tensorHandleFactory); } LayerTestResult StackFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { using namespace half_float::literal; @@ -604,6 +622,7 @@ LayerTestResult StackFloat16Test( return StackTestHelper( workloadFactory, memoryManager, + tensorHandleFactory, inputTensorInfo, outputTensorInfo, 2U, diff --git a/src/backends/backendsCommon/test/layerTests/StackTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/StackTestImpl.hpp index 90327dded7..75e9ae82d5 100644 --- a/src/backends/backendsCommon/test/layerTests/StackTestImpl.hpp +++ b/src/backends/backendsCommon/test/layerTests/StackTestImpl.hpp @@ -1,5 +1,5 @@ // -// Copyright © 2019 Arm Ltd. All rights reserved. +// Copyright © 2019 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // @@ -14,28 +14,35 @@ LayerTestResult StackAxis0Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StackOutput4DAxis1Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StackOutput4DAxis2Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StackOutput4DAxis3Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StackOutput3DInputs3Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StackOutput5DFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StackFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); diff --git a/src/backends/backendsCommon/test/layerTests/StridedSliceTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/StridedSliceTestImpl.cpp index 722b7dd2f3..66a3b14e3f 100644 --- a/src/backends/backendsCommon/test/layerTests/StridedSliceTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/StridedSliceTestImpl.cpp @@ -21,6 +21,7 @@ template LayerTestResult StridedSliceTestImpl( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, armnn::TensorInfo& inputTensorInfo, armnn::TensorInfo& outputTensorInfo, std::vector& inputData, @@ -45,13 +46,12 @@ LayerTestResult StridedSliceTestImpl( LayerTestResult ret(outputTensorInfo); ret.outputExpected = MakeTensor(outputTensorInfo, armnnUtils::QuantizedVector(outputExpectedData, qScale, qOffset)); - ARMNN_NO_DEPRECATE_WARN_BEGIN + std::unique_ptr inputHandle = - workloadFactory.CreateTensorHandle(inputTensorInfo); + tensorHandleFactory.CreateTensorHandle(inputTensorInfo); std::unique_ptr outputHandle = - workloadFactory.CreateTensorHandle(outputTensorInfo); - ARMNN_NO_DEPRECATE_WARN_END + tensorHandleFactory.CreateTensorHandle(outputTensorInfo); armnn::WorkloadInfo info; AddInputToWorkload(descriptor, info, inputTensorInfo, inputHandle.get()); @@ -74,7 +74,8 @@ LayerTestResult StridedSliceTestImpl( template> LayerTestResult StridedSlice4dTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo; armnn::TensorInfo outputTensorInfo; @@ -105,13 +106,15 @@ LayerTestResult StridedSlice4dTest( }); return StridedSliceTestImpl( - workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected, desc); + workloadFactory, memoryManager, tensorHandleFactory, + inputTensorInfo, outputTensorInfo, input, outputExpected, desc); } template> LayerTestResult StridedSlice4dReverseTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo; armnn::TensorInfo outputTensorInfo; @@ -142,13 +145,15 @@ LayerTestResult StridedSlice4dReverseTest( }); return StridedSliceTestImpl( - workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected, desc); + workloadFactory, memoryManager, tensorHandleFactory, + inputTensorInfo, outputTensorInfo, input, outputExpected, desc); } template> LayerTestResult StridedSliceSimpleStrideTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo; armnn::TensorInfo outputTensorInfo; @@ -181,13 +186,15 @@ LayerTestResult StridedSliceSimpleStrideTest( }); return StridedSliceTestImpl( - workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected, desc); + workloadFactory, memoryManager, tensorHandleFactory, + inputTensorInfo, outputTensorInfo, input, outputExpected, desc); } template> LayerTestResult StridedSliceSimpleRangeMaskTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo; armnn::TensorInfo outputTensorInfo; @@ -224,13 +231,15 @@ LayerTestResult StridedSliceSimpleRangeMaskTest( }); return StridedSliceTestImpl( - workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected, desc); + workloadFactory, memoryManager, tensorHandleFactory, + inputTensorInfo, outputTensorInfo, input, outputExpected, desc); } template> LayerTestResult StridedSliceShrinkAxisMaskTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo; armnn::TensorInfo outputTensorInfo; @@ -263,13 +272,15 @@ LayerTestResult StridedSliceShrinkAxisMaskTest( }); return StridedSliceTestImpl( - workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected, desc); + workloadFactory, memoryManager, tensorHandleFactory, + inputTensorInfo, outputTensorInfo, input, outputExpected, desc); } template> LayerTestResult StridedSliceShrinkAxisMaskBitPosition0Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo; armnn::TensorInfo outputTensorInfo; @@ -302,13 +313,15 @@ LayerTestResult StridedSliceShrinkAxisMaskBitPosition0Test( }); return StridedSliceTestImpl( - workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected, desc); + workloadFactory, memoryManager, tensorHandleFactory, + inputTensorInfo, outputTensorInfo, input, outputExpected, desc); } template> LayerTestResult StridedSliceShrinkAxisMaskBitPosition1Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo; armnn::TensorInfo outputTensorInfo; @@ -341,13 +354,15 @@ LayerTestResult StridedSliceShrinkAxisMaskBitPosition1Test( }); return StridedSliceTestImpl( - workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected, desc); + workloadFactory, memoryManager, tensorHandleFactory, + inputTensorInfo, outputTensorInfo, input, outputExpected, desc); } template> LayerTestResult StridedSliceShrinkAxisMaskBitPosition2Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo; armnn::TensorInfo outputTensorInfo; @@ -380,13 +395,15 @@ LayerTestResult StridedSliceShrinkAxisMaskBitPosition2Test( }); return StridedSliceTestImpl( - workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected, desc); + workloadFactory, memoryManager, tensorHandleFactory, + inputTensorInfo, outputTensorInfo, input, outputExpected, desc); } template> LayerTestResult StridedSliceShrinkAxisMaskBitPosition3Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo; armnn::TensorInfo outputTensorInfo; @@ -423,13 +440,15 @@ LayerTestResult StridedSliceShrinkAxisMaskBitPosition3Test( }); return StridedSliceTestImpl( - workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected, desc); + workloadFactory, memoryManager, tensorHandleFactory, + inputTensorInfo, outputTensorInfo, input, outputExpected, desc); } template> LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And1Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo; armnn::TensorInfo outputTensorInfo; @@ -462,13 +481,15 @@ LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And1Test( }); return StridedSliceTestImpl( - workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected, desc); + workloadFactory, memoryManager, tensorHandleFactory, + inputTensorInfo, outputTensorInfo, input, outputExpected, desc); } template> LayerTestResult StridedSliceShrinkAxisMaskBitPosition0Dim3Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo; armnn::TensorInfo outputTensorInfo; @@ -497,7 +518,8 @@ LayerTestResult StridedSliceShrinkAxisMaskBitPosition0Dim3Test( }); return StridedSliceTestImpl( - workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected, desc); + workloadFactory, memoryManager, tensorHandleFactory, + inputTensorInfo, outputTensorInfo, input, outputExpected, desc); } void FillVector(std::vector& inputArray, float start, float step) @@ -512,7 +534,8 @@ void FillVector(std::vector& inputArray, float start, float step) template> LayerTestResult StridedSliceShrinkAxisMaskCTSTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo; armnn::TensorInfo outputTensorInfo; @@ -540,13 +563,15 @@ LayerTestResult StridedSliceShrinkAxisMaskCTSTest( FillVector(outputExpected, 1171.0, 2.0f); return StridedSliceTestImpl( - workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected, desc); + workloadFactory, memoryManager, tensorHandleFactory, + inputTensorInfo, outputTensorInfo, input, outputExpected, desc); } template> LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And2Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo; armnn::TensorInfo outputTensorInfo; @@ -579,13 +604,15 @@ LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And2Test( }); return StridedSliceTestImpl( - workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected, desc); + workloadFactory, memoryManager, tensorHandleFactory, + inputTensorInfo, outputTensorInfo, input, outputExpected, desc); } template> LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And3Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo; armnn::TensorInfo outputTensorInfo; @@ -618,13 +645,15 @@ LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And3Test( }); return StridedSliceTestImpl( - workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected, desc); + workloadFactory, memoryManager, tensorHandleFactory, + inputTensorInfo, outputTensorInfo, input, outputExpected, desc); } template> LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And1And3Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo; armnn::TensorInfo outputTensorInfo; @@ -657,13 +686,15 @@ LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And1And3Test( }); return StridedSliceTestImpl( - workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected, desc); + workloadFactory, memoryManager, tensorHandleFactory, + inputTensorInfo, outputTensorInfo, input, outputExpected, desc); } template> LayerTestResult StridedSlice3dTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo; armnn::TensorInfo outputTensorInfo; @@ -697,13 +728,15 @@ LayerTestResult StridedSlice3dTest( }); return StridedSliceTestImpl( - workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected, desc); + workloadFactory, memoryManager, tensorHandleFactory, + inputTensorInfo, outputTensorInfo, input, outputExpected, desc); } template> LayerTestResult StridedSlice3dReverseTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo; armnn::TensorInfo outputTensorInfo; @@ -736,13 +769,15 @@ LayerTestResult StridedSlice3dReverseTest( }); return StridedSliceTestImpl( - workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected, desc); + workloadFactory, memoryManager, tensorHandleFactory, + inputTensorInfo, outputTensorInfo, input, outputExpected, desc); } template> LayerTestResult StridedSlice2dTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo; armnn::TensorInfo outputTensorInfo; @@ -776,13 +811,15 @@ LayerTestResult StridedSlice2dTest( }); return StridedSliceTestImpl( - workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected, desc); + workloadFactory, memoryManager, tensorHandleFactory, + inputTensorInfo, outputTensorInfo, input, outputExpected, desc); } template> LayerTestResult StridedSlice2dReverseTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo; armnn::TensorInfo outputTensorInfo; @@ -817,338 +854,448 @@ LayerTestResult StridedSlice2dReverseTest( }); return StridedSliceTestImpl( - workloadFactory, memoryManager, inputTensorInfo, outputTensorInfo, input, outputExpected, desc); + workloadFactory, memoryManager, tensorHandleFactory, + inputTensorInfo, outputTensorInfo, input, outputExpected, desc); } } // anonymous namespace LayerTestResult StridedSlice4dFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSlice4dTest(workloadFactory, memoryManager); + return StridedSlice4dTest(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSlice4dReverseFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSlice4dReverseTest(workloadFactory, memoryManager); + return StridedSlice4dReverseTest(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceSimpleStrideFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSliceSimpleStrideTest(workloadFactory, memoryManager); + return StridedSliceSimpleStrideTest(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceSimpleRangeMaskFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSliceSimpleRangeMaskTest(workloadFactory, memoryManager); + return StridedSliceSimpleRangeMaskTest(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSliceShrinkAxisMaskTest(workloadFactory, memoryManager); + return StridedSliceShrinkAxisMaskTest(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskCTSFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSliceShrinkAxisMaskCTSTest(workloadFactory, memoryManager); + return StridedSliceShrinkAxisMaskCTSTest(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskBitPosition0Dim3Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSliceShrinkAxisMaskBitPosition0Dim3Test(workloadFactory, memoryManager); + return StridedSliceShrinkAxisMaskBitPosition0Dim3Test(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskBitPosition0Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSliceShrinkAxisMaskBitPosition0Test(workloadFactory, memoryManager); + return StridedSliceShrinkAxisMaskBitPosition0Test(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskBitPosition1Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSliceShrinkAxisMaskBitPosition1Test(workloadFactory, memoryManager); + return StridedSliceShrinkAxisMaskBitPosition1Test(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskBitPosition2Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSliceShrinkAxisMaskBitPosition2Test(workloadFactory, memoryManager); + return StridedSliceShrinkAxisMaskBitPosition2Test(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskBitPosition3Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSliceShrinkAxisMaskBitPosition3Test(workloadFactory, memoryManager); + return StridedSliceShrinkAxisMaskBitPosition3Test(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And1Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSliceShrinkAxisMaskBitPosition0And1Test(workloadFactory, memoryManager); + return StridedSliceShrinkAxisMaskBitPosition0And1Test(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And2Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSliceShrinkAxisMaskBitPosition0And2Test(workloadFactory, memoryManager); + return StridedSliceShrinkAxisMaskBitPosition0And2Test(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And3Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSliceShrinkAxisMaskBitPosition0And3Test(workloadFactory, memoryManager); + return StridedSliceShrinkAxisMaskBitPosition0And3Test(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And1And3Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSliceShrinkAxisMaskBitPosition0And1And3Test(workloadFactory, memoryManager); + return StridedSliceShrinkAxisMaskBitPosition0And1And3Test(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSlice3dFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSlice3dTest(workloadFactory, memoryManager); + return StridedSlice3dTest(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSlice3dReverseFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSlice3dReverseTest(workloadFactory, memoryManager); + return StridedSlice3dReverseTest(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSlice2dFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSlice2dTest(workloadFactory, memoryManager); + return StridedSlice2dTest(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSlice2dReverseFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSlice2dReverseTest(workloadFactory, memoryManager); + return StridedSlice2dReverseTest(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSlice4dUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSlice4dTest(workloadFactory, memoryManager); + return StridedSlice4dTest(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSlice4dReverseUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSlice4dReverseTest(workloadFactory, memoryManager); + return StridedSlice4dReverseTest(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceSimpleStrideUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSliceSimpleStrideTest(workloadFactory, memoryManager); + return StridedSliceSimpleStrideTest(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceSimpleRangeMaskUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSliceSimpleRangeMaskTest(workloadFactory, memoryManager); + return StridedSliceSimpleRangeMaskTest(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSliceShrinkAxisMaskTest(workloadFactory, memoryManager); + return StridedSliceShrinkAxisMaskTest(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskBitPosition0Dim3Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return StridedSliceShrinkAxisMaskBitPosition0Dim3Test(workloadFactory, - memoryManager); + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskBitPosition0Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return StridedSliceShrinkAxisMaskBitPosition0Test(workloadFactory, - memoryManager); + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskBitPosition1Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return StridedSliceShrinkAxisMaskBitPosition1Test(workloadFactory, - memoryManager); + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskBitPosition2Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return StridedSliceShrinkAxisMaskBitPosition2Test(workloadFactory, - memoryManager); + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskBitPosition3Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return StridedSliceShrinkAxisMaskBitPosition3Test(workloadFactory, - memoryManager); + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And1Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return StridedSliceShrinkAxisMaskBitPosition0And1Test(workloadFactory, - memoryManager); + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And2Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return StridedSliceShrinkAxisMaskBitPosition0And2Test(workloadFactory, - memoryManager); + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And3Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return StridedSliceShrinkAxisMaskBitPosition0And3Test(workloadFactory, - memoryManager); + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And1And3Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return StridedSliceShrinkAxisMaskBitPosition0And1And3Test(workloadFactory, - memoryManager); + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSlice3dUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSlice3dTest(workloadFactory, memoryManager); + return StridedSlice3dTest(workloadFactory, memoryManager, tensorHandleFactory); } LayerTestResult StridedSlice3dReverseUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSlice3dReverseTest(workloadFactory, memoryManager); + return StridedSlice3dReverseTest(workloadFactory, memoryManager, tensorHandleFactory); } LayerTestResult StridedSlice2dUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSlice2dTest(workloadFactory, memoryManager); + return StridedSlice2dTest(workloadFactory, memoryManager, tensorHandleFactory); } LayerTestResult StridedSlice2dReverseUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSlice2dReverseTest(workloadFactory, memoryManager); + return StridedSlice2dReverseTest(workloadFactory, memoryManager, tensorHandleFactory); } LayerTestResult StridedSlice4dInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSlice4dTest(workloadFactory, memoryManager); + return StridedSlice4dTest(workloadFactory, memoryManager, tensorHandleFactory); } LayerTestResult StridedSlice4dReverseInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSlice4dReverseTest(workloadFactory, memoryManager); + return StridedSlice4dReverseTest(workloadFactory, memoryManager, tensorHandleFactory); } LayerTestResult StridedSliceSimpleStrideInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSliceSimpleStrideTest(workloadFactory, memoryManager); + return StridedSliceSimpleStrideTest(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceSimpleRangeMaskInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSliceSimpleRangeMaskTest(workloadFactory, memoryManager); + return StridedSliceSimpleRangeMaskTest(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSliceShrinkAxisMaskInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSliceShrinkAxisMaskTest(workloadFactory, memoryManager); + return StridedSliceShrinkAxisMaskTest(workloadFactory, + memoryManager, + tensorHandleFactory); } LayerTestResult StridedSlice3dInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSlice3dTest(workloadFactory, memoryManager); + return StridedSlice3dTest(workloadFactory, memoryManager, tensorHandleFactory); } LayerTestResult StridedSlice3dReverseInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSlice3dReverseTest(workloadFactory, memoryManager); + return StridedSlice3dReverseTest(workloadFactory, memoryManager, tensorHandleFactory); } LayerTestResult StridedSlice2dInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSlice2dTest(workloadFactory, memoryManager); + return StridedSlice2dTest(workloadFactory, memoryManager, tensorHandleFactory); } LayerTestResult StridedSlice2dReverseInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return StridedSlice2dReverseTest(workloadFactory, memoryManager); + return StridedSlice2dReverseTest(workloadFactory, memoryManager, tensorHandleFactory); } diff --git a/src/backends/backendsCommon/test/layerTests/StridedSliceTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/StridedSliceTestImpl.hpp index b3b13464ef..52feb0c01a 100644 --- a/src/backends/backendsCommon/test/layerTests/StridedSliceTestImpl.hpp +++ b/src/backends/backendsCommon/test/layerTests/StridedSliceTestImpl.hpp @@ -1,5 +1,5 @@ // -// Copyright © 2017 Arm Ltd. All rights reserved. +// Copyright © 2017 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // @@ -12,184 +12,230 @@ LayerTestResult StridedSlice4dFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSlice4dReverseFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceSimpleStrideFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceSimpleRangeMaskFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskBitPosition0Dim3Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskCTSFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskBitPosition0Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskBitPosition1Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskBitPosition2Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskBitPosition3Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And1Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And2Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And3Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And1And3Float32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSlice3dFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSlice3dReverseFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSlice2dFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSlice2dReverseFloat32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSlice4dUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSlice4dReverseUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceSimpleStrideUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceSimpleRangeMaskUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskBitPosition0Dim3Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskBitPosition0Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskBitPosition1Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskBitPosition2Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskBitPosition3Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And1Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And2Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And3Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskBitPosition0And1And3Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSlice3dUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSlice3dReverseUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSlice2dUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSlice2dReverseUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSlice4dInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSlice4dReverseInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceSimpleStrideInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceSimpleRangeMaskInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSliceShrinkAxisMaskInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSlice3dInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSlice3dReverseInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSlice2dInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult StridedSlice2dReverseInt16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); -- cgit v1.2.1