From: Keith Davis Date: Mon, 31 Aug 2020 07:32:55 +0000 (+0100) Subject: IVGCVSW-5249 Use CreateTensorHandle from ITensorHandleFactory in the test for all... X-Git-Tag: submit/tizen/20210421.062230~343 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f500d6c22c7799dcc6b057d560fb88947ac63e6a;p=platform%2Fupstream%2Farmnn.git IVGCVSW-5249 Use CreateTensorHandle from ITensorHandleFactory in the test for all layers between C-D Signed-off-by: Keith Davis Change-Id: I9583adf50e67e63e73833f400d1c50fbff57f60c --- diff --git a/src/backends/backendsCommon/test/layerTests/ComparisonTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ComparisonTestImpl.cpp index 9c83b9d..be44234 100644 --- a/src/backends/backendsCommon/test/layerTests/ComparisonTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/ComparisonTestImpl.cpp @@ -26,7 +26,8 @@ template > LayerTestResult ComparisonTestImpl( armnn::IWorkloadFactory & workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr & memoryManager, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const armnn::ComparisonDescriptor& descriptor, const armnn::TensorShape& shape0, std::vector values0, @@ -56,11 +57,9 @@ LayerTestResult ComparisonTestImpl( LayerTestResult ret(outputTensorInfo); - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr inputHandle0 = workloadFactory.CreateTensorHandle(inputTensorInfo0); - std::unique_ptr inputHandle1 = workloadFactory.CreateTensorHandle(inputTensorInfo1); - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(outputTensorInfo); - ARMNN_NO_DEPRECATE_WARN_END + std::unique_ptr inputHandle0 = tensorHandleFactory.CreateTensorHandle(inputTensorInfo0); + std::unique_ptr inputHandle1 = tensorHandleFactory.CreateTensorHandle(inputTensorInfo1); + std::unique_ptr outputHandle = tensorHandleFactory.CreateTensorHandle(outputTensorInfo); armnn::ComparisonQueueDescriptor qDescriptor; qDescriptor.m_Parameters = descriptor; @@ -95,7 +94,8 @@ template > LayerTestResult ComparisonTestImpl( armnn::IWorkloadFactory & workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr & memoryManager, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const armnn::ComparisonDescriptor& descriptor, const armnn::TensorShape& shape0, std::vector values0, @@ -109,6 +109,7 @@ LayerTestResult ComparisonTestImpl( return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, descriptor, shape0, values0, @@ -148,6 +149,7 @@ std::vector GetExpectedOutputData(const TestData& testData, armnn::Comp template LayerTestResult ComparisonTestImpl(armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const TestData& testData, armnn::ComparisonOperation operation, float quantScale = 1.f, @@ -161,6 +163,7 @@ LayerTestResult ComparisonTestImpl(armnn::IWorkloadFactory& workload return ComparisonTestImpl<4, ArmnnInType>( workloadFactory, memoryManager, + tensorHandleFactory, armnn::ComparisonDescriptor(operation), testData.m_InputShape0, inputData0, @@ -339,198 +342,234 @@ static Broadcast1dVectorTestData s_Broadcast1dVectorTestData; // Equal LayerTestResult EqualSimpleTest(armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_SimpleTestData, armnn::ComparisonOperation::Equal); } LayerTestResult EqualBroadcast1ElementTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1ElementTestData, armnn::ComparisonOperation::Equal); } LayerTestResult EqualBroadcast1dVectorTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1dVectorTestData, armnn::ComparisonOperation::Equal); } LayerTestResult EqualSimpleFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_SimpleTestData, armnn::ComparisonOperation::Equal); } LayerTestResult EqualBroadcast1ElementFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1ElementTestData, armnn::ComparisonOperation::Equal); } LayerTestResult EqualBroadcast1dVectorFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1dVectorTestData, armnn::ComparisonOperation::Equal); } LayerTestResult EqualSimpleUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_SimpleTestData, armnn::ComparisonOperation::Equal); } LayerTestResult EqualBroadcast1ElementUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1ElementTestData, armnn::ComparisonOperation::Equal); } LayerTestResult EqualBroadcast1dVectorUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1dVectorTestData, armnn::ComparisonOperation::Equal); } // Greater LayerTestResult GreaterSimpleTest(armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_SimpleTestData, armnn::ComparisonOperation::Greater); } LayerTestResult GreaterBroadcast1ElementTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1ElementTestData, armnn::ComparisonOperation::Greater); } LayerTestResult GreaterBroadcast1dVectorTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1dVectorTestData, armnn::ComparisonOperation::Greater); } LayerTestResult GreaterSimpleFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_SimpleTestData, armnn::ComparisonOperation::Greater); } LayerTestResult GreaterBroadcast1ElementFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1ElementTestData, armnn::ComparisonOperation::Greater); } LayerTestResult GreaterBroadcast1dVectorFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1dVectorTestData, armnn::ComparisonOperation::Greater); } LayerTestResult GreaterSimpleUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_SimpleTestData, armnn::ComparisonOperation::Greater); } LayerTestResult GreaterBroadcast1ElementUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1ElementTestData, armnn::ComparisonOperation::Greater); } LayerTestResult GreaterBroadcast1dVectorUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1dVectorTestData, armnn::ComparisonOperation::Greater); } @@ -538,198 +577,234 @@ LayerTestResult GreaterBroadcast1dVectorUint8Test( // GreaterOrEqual LayerTestResult GreaterOrEqualSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_SimpleTestData, armnn::ComparisonOperation::GreaterOrEqual); } LayerTestResult GreaterOrEqualBroadcast1ElementTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1ElementTestData, armnn::ComparisonOperation::GreaterOrEqual); } LayerTestResult GreaterOrEqualBroadcast1dVectorTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1dVectorTestData, armnn::ComparisonOperation::GreaterOrEqual); } LayerTestResult GreaterOrEqualSimpleFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_SimpleTestData, armnn::ComparisonOperation::GreaterOrEqual); } LayerTestResult GreaterOrEqualBroadcast1ElementFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1ElementTestData, armnn::ComparisonOperation::GreaterOrEqual); } LayerTestResult GreaterOrEqualBroadcast1dVectorFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1dVectorTestData, armnn::ComparisonOperation::GreaterOrEqual); } LayerTestResult GreaterOrEqualSimpleUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_SimpleTestData, armnn::ComparisonOperation::GreaterOrEqual); } LayerTestResult GreaterOrEqualBroadcast1ElementUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1ElementTestData, armnn::ComparisonOperation::GreaterOrEqual); } LayerTestResult GreaterOrEqualBroadcast1dVectorUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1dVectorTestData, armnn::ComparisonOperation::GreaterOrEqual); } // Less LayerTestResult LessSimpleTest(armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_SimpleTestData, armnn::ComparisonOperation::Less); } LayerTestResult LessBroadcast1ElementTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1ElementTestData, armnn::ComparisonOperation::Less); } LayerTestResult LessBroadcast1dVectorTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1dVectorTestData, armnn::ComparisonOperation::Less); } LayerTestResult LessSimpleFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_SimpleTestData, armnn::ComparisonOperation::Less); } LayerTestResult LessBroadcast1ElementFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1ElementTestData, armnn::ComparisonOperation::Less); } LayerTestResult LessBroadcast1dVectorFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1dVectorTestData, armnn::ComparisonOperation::Less); } LayerTestResult LessSimpleUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_SimpleTestData, armnn::ComparisonOperation::Less); } LayerTestResult LessBroadcast1ElementUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1ElementTestData, armnn::ComparisonOperation::Less); } LayerTestResult LessBroadcast1dVectorUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1dVectorTestData, armnn::ComparisonOperation::Less); } @@ -737,99 +812,117 @@ LayerTestResult LessBroadcast1dVectorUint8Test( // LessOrEqual LayerTestResult LessOrEqualSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_SimpleTestData, armnn::ComparisonOperation::LessOrEqual); } LayerTestResult LessOrEqualBroadcast1ElementTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1ElementTestData, armnn::ComparisonOperation::LessOrEqual); } LayerTestResult LessOrEqualBroadcast1dVectorTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1dVectorTestData, armnn::ComparisonOperation::LessOrEqual); } LayerTestResult LessOrEqualSimpleFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_SimpleTestData, armnn::ComparisonOperation::LessOrEqual); } LayerTestResult LessOrEqualBroadcast1ElementFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1ElementTestData, armnn::ComparisonOperation::LessOrEqual); } LayerTestResult LessOrEqualBroadcast1dVectorFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1dVectorTestData, armnn::ComparisonOperation::LessOrEqual); } LayerTestResult LessOrEqualSimpleUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_SimpleTestData, armnn::ComparisonOperation::LessOrEqual); } LayerTestResult LessOrEqualBroadcast1ElementUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1ElementTestData, armnn::ComparisonOperation::LessOrEqual); } LayerTestResult LessOrEqualBroadcast1dVectorUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1dVectorTestData, armnn::ComparisonOperation::LessOrEqual); } @@ -837,99 +930,117 @@ LayerTestResult LessOrEqualBroadcast1dVectorUint8Test( // NotEqual LayerTestResult NotEqualSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_SimpleTestData, armnn::ComparisonOperation::NotEqual); } LayerTestResult NotEqualBroadcast1ElementTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1ElementTestData, armnn::ComparisonOperation::NotEqual); } LayerTestResult NotEqualBroadcast1dVectorTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1dVectorTestData, armnn::ComparisonOperation::NotEqual); } LayerTestResult NotEqualSimpleFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_SimpleTestData, armnn::ComparisonOperation::NotEqual); } LayerTestResult NotEqualBroadcast1ElementFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1ElementTestData, armnn::ComparisonOperation::NotEqual); } LayerTestResult NotEqualBroadcast1dVectorFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1dVectorTestData, armnn::ComparisonOperation::NotEqual); } LayerTestResult NotEqualSimpleUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_SimpleTestData, armnn::ComparisonOperation::NotEqual); } LayerTestResult NotEqualBroadcast1ElementUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1ElementTestData, armnn::ComparisonOperation::NotEqual); } LayerTestResult NotEqualBroadcast1dVectorUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return ComparisonTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, s_Broadcast1dVectorTestData, armnn::ComparisonOperation::NotEqual); } diff --git a/src/backends/backendsCommon/test/layerTests/ComparisonTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ComparisonTestImpl.hpp index d53c623..3012417 100644 --- a/src/backends/backendsCommon/test/layerTests/ComparisonTestImpl.hpp +++ b/src/backends/backendsCommon/test/layerTests/ComparisonTestImpl.hpp @@ -13,221 +13,275 @@ // Equal LayerTestResult EqualSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult EqualBroadcast1ElementTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult EqualBroadcast1dVectorTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult EqualSimpleFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult EqualBroadcast1ElementFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult EqualBroadcast1dVectorFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult EqualSimpleUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult EqualBroadcast1ElementUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult EqualBroadcast1dVectorUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); // Greater LayerTestResult GreaterSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult GreaterBroadcast1ElementTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult GreaterBroadcast1dVectorTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult GreaterSimpleFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult GreaterBroadcast1ElementFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult GreaterBroadcast1dVectorFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult GreaterSimpleUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult GreaterBroadcast1ElementUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult GreaterBroadcast1dVectorUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); // GreaterOrEqual LayerTestResult GreaterOrEqualSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult GreaterOrEqualBroadcast1ElementTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult GreaterOrEqualBroadcast1dVectorTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult GreaterOrEqualSimpleFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult GreaterOrEqualBroadcast1ElementFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult GreaterOrEqualBroadcast1dVectorFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult GreaterOrEqualSimpleUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult GreaterOrEqualBroadcast1ElementUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult GreaterOrEqualBroadcast1dVectorUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); // Less LayerTestResult LessSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult LessBroadcast1ElementTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult LessBroadcast1dVectorTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult LessSimpleFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult LessBroadcast1ElementFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult LessBroadcast1dVectorFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult LessSimpleUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult LessBroadcast1ElementUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult LessBroadcast1dVectorUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); // LessOrEqual LayerTestResult LessOrEqualSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult LessOrEqualBroadcast1ElementTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult LessOrEqualBroadcast1dVectorTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult LessOrEqualSimpleFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult LessOrEqualBroadcast1ElementFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult LessOrEqualBroadcast1dVectorFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult LessOrEqualSimpleUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult LessOrEqualBroadcast1ElementUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult LessOrEqualBroadcast1dVectorUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); // NotEqual LayerTestResult NotEqualSimpleTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult NotEqualBroadcast1ElementTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult NotEqualBroadcast1dVectorTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult NotEqualSimpleFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult NotEqualBroadcast1ElementFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult NotEqualBroadcast1dVectorFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult NotEqualSimpleUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult NotEqualBroadcast1ElementUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult NotEqualBroadcast1dVectorUint8Test( 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/ConcatTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ConcatTestImpl.cpp index 7f047cd..d486bc0 100644 --- a/src/backends/backendsCommon/test/layerTests/ConcatTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/ConcatTestImpl.cpp @@ -121,6 +121,7 @@ void Generate3dPermuteVectorForConcat( template void PermuteTensorData( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const PermutationVector& mappings, TensorInfo & inputTensorInfo, const T * inputData, @@ -137,10 +138,8 @@ template void PermuteTensorData( } TensorInfo outputTensorInfo = armnnUtils::Permuted(inputTensorInfo, mappings); - 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); PermuteQueueDescriptor queueDescriptor; queueDescriptor.m_Parameters = PermuteDescriptor{mappings}; @@ -172,6 +171,7 @@ template void PermuteTensorData( template void PermuteInputsForConcat( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, std::vector & inputTensorInfos, std::vector & inputData, std::vector> & inputDataStorage, @@ -215,6 +215,7 @@ template void PermuteInputsForConcat( PermuteTensorData(workloadFactory, memoryManager, + tensorHandleFactory, permutations.first, newTensorInfo, inputData[nthInput], @@ -240,6 +241,7 @@ template void PermuteInputsForConcat( template void PermuteOutputForConcat( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const TensorInfo & tensorInfo, const PermutationVector & permuteVector, std::unique_ptr && inputDataHandle, @@ -262,6 +264,7 @@ template void PermuteOutputForConcat( PermuteTensorData(workloadFactory, memoryManager, + tensorHandleFactory, permuteVector, resultTensorInfo, &inputData[0], @@ -273,6 +276,7 @@ template void PermuteOutputForConcat( template void Concatenate( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, std::initializer_list inputTensorInfosOrig, std::initializer_list inputsOrig, const TensorInfo& outputTensorInfoOrig, @@ -311,6 +315,7 @@ template void Concatenate( // PermuteInputsForConcat(workloadFactory, memoryManager, + tensorHandleFactory, inputTensorInfos, inputs, tmpInputDataStorage, @@ -323,9 +328,9 @@ template void Concatenate( std::vector> inputHandles; inputHandles.reserve(inputCount); - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(outputTensorInfo); - ARMNN_NO_DEPRECATE_WARN_END + + std::unique_ptr outputHandle = tensorHandleFactory.CreateTensorHandle(outputTensorInfo); + ConcatQueueDescriptor queueDescriptor; OriginsDescriptor viewsDescriptor = CreateDescriptorForConcat(inputTensorInfos, concatDim); queueDescriptor.m_Parameters = viewsDescriptor; @@ -338,21 +343,21 @@ template void Concatenate( queueDescriptor.m_ViewOrigins.emplace_back(std::vector(viewsDescriptor.GetViewOrigin(i), viewsDescriptor.GetViewOrigin(i) + viewsDescriptor.GetNumDimensions())); } - ARMNN_NO_DEPRECATE_WARN_BEGIN - outputHandle = workloadFactory.CreateTensorHandle(outputTensorInfo); - ARMNN_NO_DEPRECATE_WARN_END + + outputHandle = tensorHandleFactory.CreateTensorHandle(outputTensorInfo); + const bool subTensorsSupported = workloadFactory.SupportsSubTensors(); for (unsigned int i = 0; i < inputCount; ++i) { const TensorInfo& inputTensorInfo = inputTensorInfos[i]; - ARMNN_NO_DEPRECATE_WARN_BEGIN + std::unique_ptr inputHandle = subTensorsSupported ? - workloadFactory.CreateSubTensorHandle(*outputHandle, + tensorHandleFactory.CreateSubTensorHandle(*outputHandle, inputTensorInfo.GetShape(), queueDescriptor.m_ViewOrigins[i].m_Origin.data()) : - workloadFactory.CreateTensorHandle(inputTensorInfo); - ARMNN_NO_DEPRECATE_WARN_END + tensorHandleFactory.CreateTensorHandle(inputTensorInfo); + inputHandles.emplace_back(std::move(inputHandle)); } @@ -362,9 +367,7 @@ template void Concatenate( { for (unsigned int i = 0; i < inputCount; ++i) { - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr inputHandle = workloadFactory.CreateTensorHandle(inputTensorInfos[i]); - ARMNN_NO_DEPRECATE_WARN_END + std::unique_ptr inputHandle = tensorHandleFactory.CreateTensorHandle(inputTensorInfos[i]); inputHandles.emplace_back(std::move(inputHandle)); } } @@ -399,6 +402,7 @@ template void Concatenate( { PermuteOutputForConcat(workloadFactory, memoryManager, + tensorHandleFactory, outputTensorInfo, permuteVector, std::move(outputHandle), @@ -418,6 +422,7 @@ template> LayerTestResult Concat1dTestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset) { @@ -433,7 +438,7 @@ LayerTestResult Concat1dTestImpl( std::vector output; output.resize(outputTensorInfo.GetNumElements()); - Concatenate(workloadFactory, memoryManager, + Concatenate(workloadFactory, memoryManager, tensorHandleFactory, { inputTensorInfo, inputTensorInfo, inputTensorInfo }, { input0.data(), input1.data(), input2.data() }, outputTensorInfo, @@ -455,6 +460,7 @@ template> LayerTestResult Concat2dTestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const TensorInfo& outputTensorInfo, unsigned int dimension, const float qScale, @@ -496,7 +502,7 @@ LayerTestResult Concat2dTestImpl( std::vector output; output.resize(outputTensorInfo.GetNumElements()); - Concatenate(workloadFactory, memoryManager, + Concatenate(workloadFactory, memoryManager, tensorHandleFactory, { inputTensorInfo, inputTensorInfo, inputTensorInfo }, { input0.data(), input1.data(), input2.data() }, outputTensorInfo, @@ -512,13 +518,14 @@ template> LayerTestResult Concat2dDim0TestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset) { TensorInfo outputTensorInfo({ 6, 3 }, ArmnnType, qScale, qOffset); LayerTestResult result = Concat2dTestImpl( - workloadFactory, memoryManager, outputTensorInfo, 0, qScale, qOffset); + workloadFactory, memoryManager, tensorHandleFactory, outputTensorInfo, 0, qScale, qOffset); result.outputExpected = MakeTensor(outputTensorInfo, QuantizedVector( { @@ -549,13 +556,14 @@ template> LayerTestResult Concat2dDim1TestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset) { TensorInfo outputTensorInfo({ 2, 9 }, ArmnnType, qScale, qOffset); LayerTestResult result = Concat2dTestImpl( - workloadFactory, memoryManager, outputTensorInfo, 1, qScale, qOffset); + workloadFactory, memoryManager, tensorHandleFactory, outputTensorInfo, 1, qScale, qOffset); result.outputExpected = MakeTensor(outputTensorInfo, QuantizedVector( { @@ -574,6 +582,7 @@ template> LayerTestResult Concat2dDim0DiffInputDimsTestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset) { @@ -615,7 +624,7 @@ LayerTestResult Concat2dDim0DiffInputDimsTestImpl( std::vector output; output.resize(outputTensorInfo.GetNumElements()); - Concatenate(workloadFactory, memoryManager, + Concatenate(workloadFactory, memoryManager, tensorHandleFactory, { input0TensorInfo, input1TensorInfo, input2TensorInfo }, { input0.data(), input1.data(), input2.data() }, outputTensorInfo, @@ -653,6 +662,7 @@ template> LayerTestResult Concat2dDim1DiffInputDimsTestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset) { @@ -694,7 +704,7 @@ LayerTestResult Concat2dDim1DiffInputDimsTestImpl( std::vector output; output.resize(outputTensorInfo.GetNumElements()); - Concatenate(workloadFactory, memoryManager, + Concatenate(workloadFactory, memoryManager, tensorHandleFactory, { input0TensorInfo, input1TensorInfo, input2TensorInfo }, { input0.data(), input1.data(), input2.data() }, outputTensorInfo, @@ -720,6 +730,7 @@ template> LayerTestResult Concat3dTestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const TensorInfo& outputTensorInfo, unsigned int dimension, bool useSubtensor, @@ -798,7 +809,7 @@ LayerTestResult Concat3dTestImpl( std::vector output; output.resize(outputTensorInfo.GetNumElements()); - Concatenate(workloadFactory, memoryManager, + Concatenate(workloadFactory, memoryManager, tensorHandleFactory, { inputTensorInfo, inputTensorInfo, inputTensorInfo }, { input0.data(), input1.data(), input2.data() }, outputTensorInfo, @@ -814,13 +825,14 @@ template> LayerTestResult Concat3dDim0TestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset) { TensorInfo outputTensorInfo({ 6, 3, 2 }, ArmnnType, qScale, qOffset); LayerTestResult result = Concat3dTestImpl( - workloadFactory, memoryManager, outputTensorInfo, 0, true, qScale, qOffset); + workloadFactory, memoryManager, tensorHandleFactory, outputTensorInfo, 0, true, qScale, qOffset); result.outputExpected = MakeTensor(outputTensorInfo, QuantizedVector( { @@ -887,13 +899,14 @@ template> LayerTestResult Concat3dDim1TestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset) { TensorInfo outputTensorInfo({ 2, 9, 2 }, ArmnnType, qScale, qOffset); LayerTestResult result = Concat3dTestImpl( - workloadFactory, memoryManager, outputTensorInfo, 1, true, qScale, qOffset); + workloadFactory, memoryManager, tensorHandleFactory, outputTensorInfo, 1, true, qScale, qOffset); result.outputExpected = MakeTensor(outputTensorInfo, QuantizedVector( { @@ -960,6 +973,7 @@ template> LayerTestResult Concat3dDim2TestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor, float qScale, int32_t qOffset) @@ -967,7 +981,7 @@ LayerTestResult Concat3dDim2TestImpl( TensorInfo outputTensorInfo({ 2, 3, 6 }, ArmnnType, qScale, qOffset); LayerTestResult result = Concat3dTestImpl( - workloadFactory, memoryManager, outputTensorInfo, 2, useSubtensor, qScale, qOffset); + workloadFactory, memoryManager, tensorHandleFactory, outputTensorInfo, 2, useSubtensor, qScale, qOffset); result.outputExpected = MakeTensor(outputTensorInfo, QuantizedVector( { @@ -998,6 +1012,7 @@ template> LayerTestResult Concat3dDim0DiffInputDimsTestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset) { @@ -1075,7 +1090,7 @@ LayerTestResult Concat3dDim0DiffInputDimsTestImpl( std::vector output; output.resize(outputTensorInfo.GetNumElements()); - Concatenate(workloadFactory, memoryManager, + Concatenate(workloadFactory, memoryManager, tensorHandleFactory, { input0TensorInfo, input1TensorInfo, input2TensorInfo }, { input0.data(), input1.data(), input2.data() }, outputTensorInfo, @@ -1149,6 +1164,7 @@ template> LayerTestResult Concat3dDim1DiffInputDimsTestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset) { @@ -1220,7 +1236,7 @@ LayerTestResult Concat3dDim1DiffInputDimsTestImpl( std::vector output; output.resize(outputTensorInfo.GetNumElements()); - Concatenate(workloadFactory, memoryManager, + Concatenate(workloadFactory, memoryManager, tensorHandleFactory, { input0TensorInfo, input1TensorInfo, input2TensorInfo }, { input0.data(), input1.data(), input2.data() }, outputTensorInfo, @@ -1288,6 +1304,7 @@ template> LayerTestResult Concat3dDim2DiffInputDimsTestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor, float qScale, int32_t qOffset) @@ -1366,7 +1383,7 @@ LayerTestResult Concat3dDim2DiffInputDimsTestImpl( std::vector output; output.resize(outputTensorInfo.GetNumElements()); - Concatenate(workloadFactory, memoryManager, + Concatenate(workloadFactory, memoryManager, tensorHandleFactory, { input0TensorInfo, input1TensorInfo, input2TensorInfo }, { input0.data(), input1.data(), input2.data() }, outputTensorInfo, @@ -1404,6 +1421,7 @@ template> LayerTestResult Concat4dTestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const TensorInfo& outputTensorInfo, unsigned int dimension, bool useSubtensor, @@ -1452,6 +1470,7 @@ LayerTestResult Concat4dTestImpl( Concatenate(workloadFactory, memoryManager, + tensorHandleFactory, {inputTensorInfo, inputTensorInfo, inputTensorInfo}, {input0.data(), input1.data(), input2.data()}, outputTensorInfo, @@ -1467,13 +1486,14 @@ template> LayerTestResult Concat4dDim0TestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset) { TensorInfo outputTensorInfo({ 3, 3, 2, 2 }, ArmnnType, qScale, qOffset); LayerTestResult result = Concat4dTestImpl( - workloadFactory, memoryManager, outputTensorInfo, 0, true, qScale, qOffset); + workloadFactory, memoryManager, tensorHandleFactory, outputTensorInfo, 0, true, qScale, qOffset); result.outputExpected = MakeTensor(outputTensorInfo, QuantizedVector( { @@ -1507,13 +1527,14 @@ template> LayerTestResult Concat4dDim1TestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset) { TensorInfo outputTensorInfo({ 1, 9, 2, 2 }, ArmnnType, qScale, qOffset); LayerTestResult result = Concat4dTestImpl( - workloadFactory, memoryManager, outputTensorInfo, 1, true, qScale, qOffset); + workloadFactory, memoryManager, tensorHandleFactory, outputTensorInfo, 1, true, qScale, qOffset); result.outputExpected = MakeTensor(outputTensorInfo, QuantizedVector( { @@ -1547,13 +1568,14 @@ template> LayerTestResult Concat4dDim2TestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset) { TensorInfo outputTensorInfo({ 1, 3, 6, 2 }, ArmnnType, qScale, qOffset); LayerTestResult result = Concat4dTestImpl( - workloadFactory, memoryManager, outputTensorInfo, 2, true, qScale, qOffset); + workloadFactory, memoryManager, tensorHandleFactory, outputTensorInfo, 2, true, qScale, qOffset); result.outputExpected = MakeTensor(outputTensorInfo, QuantizedVector( { @@ -1587,6 +1609,7 @@ template> LayerTestResult Concat4dDim3TestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset, bool useSubtensor) @@ -1594,7 +1617,7 @@ LayerTestResult Concat4dDim3TestImpl( TensorInfo outputTensorInfo({ 1, 3, 2, 6 }, ArmnnType, qScale, qOffset); LayerTestResult result = Concat4dTestImpl( - workloadFactory, memoryManager, outputTensorInfo, 3, useSubtensor, qScale, qOffset); + workloadFactory, memoryManager, tensorHandleFactory, outputTensorInfo, 3, useSubtensor, qScale, qOffset); result.outputExpected = MakeTensor(outputTensorInfo, QuantizedVector( { @@ -1628,6 +1651,7 @@ template> LayerTestResult Concat4dDiffShapeDim0TestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset) { @@ -1673,6 +1697,7 @@ LayerTestResult Concat4dDiffShapeDim0TestImpl( output.resize(outputTensorInfo.GetNumElements()); Concatenate(workloadFactory, memoryManager, + tensorHandleFactory, {inputTensorInfo0, inputTensorInfo1}, {input0.data(), input1.data()}, outputTensorInfo, @@ -1713,6 +1738,7 @@ template> LayerTestResult Concat4dDiffShapeDim1TestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset) { @@ -1749,6 +1775,7 @@ LayerTestResult Concat4dDiffShapeDim1TestImpl( output.resize(outputTensorInfo.GetNumElements()); Concatenate(workloadFactory, memoryManager, + tensorHandleFactory, {inputTensorInfo0, inputTensorInfo1}, {input0.data(), input1.data()}, outputTensorInfo, @@ -1779,6 +1806,7 @@ template> LayerTestResult Concat4dDiffShapeDim2TestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset) { @@ -1818,6 +1846,7 @@ LayerTestResult Concat4dDiffShapeDim2TestImpl( output.resize(outputTensorInfo.GetNumElements()); Concatenate(workloadFactory, memoryManager, + tensorHandleFactory, {inputTensorInfo0, inputTensorInfo1}, {input0.data(), input1.data()}, outputTensorInfo, @@ -1855,6 +1884,7 @@ template> LayerTestResult Concat4dDiffShapeDim3TestImpl( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset, bool useSubtensor) @@ -1895,6 +1925,7 @@ LayerTestResult Concat4dDiffShapeDim3TestImpl( output.resize(outputTensorInfo.GetNumElements()); Concatenate(workloadFactory, memoryManager, + tensorHandleFactory, {inputTensorInfo0, inputTensorInfo1}, {input0.data(), input1.data()}, outputTensorInfo, @@ -1921,6 +1952,7 @@ template LayerTestResult ConcatDifferentInputOutputQParamTest( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor) { IgnoreUnused(memoryManager); @@ -2009,21 +2041,21 @@ LayerTestResult ConcatDifferentInputOutputQParamTest( std::vector wOrigin2 = { 0, 0, 2 }; //Extent of the window is defined by size of input[1]. ConcatQueueDescriptor::ViewOrigin window2(wOrigin2); - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(outputTensorInfo); - ARMNN_NO_DEPRECATE_WARN_END + + std::unique_ptr outputHandle = tensorHandleFactory.CreateTensorHandle(outputTensorInfo); + bool subTensorsSupported = useSubtensor && workloadFactory.SupportsSubTensors(); - ARMNN_NO_DEPRECATE_WARN_BEGIN + std::unique_ptr inputHandle1 = subTensorsSupported ? - workloadFactory.CreateSubTensorHandle(*outputHandle, inputTensorInfo1.GetShape(), wOrigin1.data()) : - workloadFactory.CreateTensorHandle(inputTensorInfo1); + tensorHandleFactory.CreateSubTensorHandle(*outputHandle, inputTensorInfo1.GetShape(), wOrigin1.data()) : + tensorHandleFactory.CreateTensorHandle(inputTensorInfo1); std::unique_ptr inputHandle2 = subTensorsSupported ? - workloadFactory.CreateSubTensorHandle(*outputHandle, inputTensorInfo2.GetShape(), wOrigin2.data()) : - workloadFactory.CreateTensorHandle(inputTensorInfo2); - ARMNN_NO_DEPRECATE_WARN_END + tensorHandleFactory.CreateSubTensorHandle(*outputHandle, inputTensorInfo2.GetShape(), wOrigin2.data()) : + tensorHandleFactory.CreateTensorHandle(inputTensorInfo2); + ConcatQueueDescriptor data; OriginsDescriptor desc = CreateDescriptorForConcatenation( inputTensorShapes.begin(),inputTensorShapes.end(), 2); @@ -2062,12 +2094,14 @@ template LayerTestResult, 3> ConcatDifferentInputOutputQParamTest( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor); template LayerTestResult, 3> ConcatDifferentInputOutputQParamTest( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor); // @@ -2076,7 +2110,8 @@ ConcatDifferentInputOutputQParamTest( LayerTestResult ConcatTest( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { IgnoreUnused(memoryManager); @@ -2158,21 +2193,21 @@ LayerTestResult ConcatTest( std::vector wOrigin2 = {2, 0, 0}; //Extent of the window is defined by size of input[1]. ConcatQueueDescriptor::ViewOrigin window2(wOrigin2); - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(outputTensorInfo); + + std::unique_ptr outputHandle = tensorHandleFactory.CreateTensorHandle(outputTensorInfo); bool subTensorsSupported = workloadFactory.SupportsSubTensors(); std::unique_ptr inputHandle1 = subTensorsSupported ? - workloadFactory.CreateSubTensorHandle(*outputHandle, inputTensorInfo1.GetShape(), wOrigin1.data()) : - workloadFactory.CreateTensorHandle(inputTensorInfo1); + tensorHandleFactory.CreateSubTensorHandle(*outputHandle, inputTensorInfo1.GetShape(), wOrigin1.data()) : + tensorHandleFactory.CreateTensorHandle(inputTensorInfo1); std::unique_ptr inputHandle2 = subTensorsSupported ? - workloadFactory.CreateSubTensorHandle(*outputHandle, inputTensorInfo2.GetShape(), wOrigin2.data()) : - workloadFactory.CreateTensorHandle(inputTensorInfo2); - ARMNN_NO_DEPRECATE_WARN_END + tensorHandleFactory.CreateSubTensorHandle(*outputHandle, inputTensorInfo2.GetShape(), wOrigin2.data()) : + tensorHandleFactory.CreateTensorHandle(inputTensorInfo2); + ConcatQueueDescriptor data; WorkloadInfo info; AddInputToWorkload(data, info, inputTensorInfo1, inputHandle1.get()); @@ -2201,162 +2236,194 @@ LayerTestResult ConcatTest( LayerTestResult Concat1dTest( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat1dTestImpl(workloadFactory, memoryManager, 0.0f, 0); + return Concat1dTestImpl(workloadFactory, memoryManager, tensorHandleFactory, 0.0f, 0); } LayerTestResult Concat2dDim0Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat2dDim0TestImpl(workloadFactory, memoryManager, 0.0f, 0); + return Concat2dDim0TestImpl(workloadFactory, memoryManager, tensorHandleFactory, 0.0f, 0); } LayerTestResult Concat2dDim1Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat2dDim1TestImpl(workloadFactory, memoryManager, 0.0f, 0); + return Concat2dDim1TestImpl(workloadFactory, memoryManager, tensorHandleFactory, 0.0f, 0); } LayerTestResult Concat2dDim0DiffInputDimsTest( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat2dDim0DiffInputDimsTestImpl(workloadFactory, memoryManager, 0.0f, 0); + return Concat2dDim0DiffInputDimsTestImpl(workloadFactory, memoryManager, + tensorHandleFactory, 0.0f, 0); } LayerTestResult Concat2dDim1DiffInputDimsTest( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat2dDim1DiffInputDimsTestImpl(workloadFactory, memoryManager, 0.0f, 0); + return Concat2dDim1DiffInputDimsTestImpl(workloadFactory, + memoryManager, + tensorHandleFactory, + 0.0f, + 0); } LayerTestResult Concat3dDim0Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat3dDim0TestImpl(workloadFactory, memoryManager, 0.0f, 0); + return Concat3dDim0TestImpl(workloadFactory, memoryManager, tensorHandleFactory, 0.0f, 0); } LayerTestResult Concat3dDim1Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat3dDim1TestImpl(workloadFactory, memoryManager, 0.0f, 0); + return Concat3dDim1TestImpl(workloadFactory, memoryManager, tensorHandleFactory, 0.0f, 0); } LayerTestResult Concat3dDim2Test( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor) { - return Concat3dDim2TestImpl(workloadFactory, memoryManager, useSubtensor, 0.0f, 0); + return Concat3dDim2TestImpl(workloadFactory, memoryManager, tensorHandleFactory, + useSubtensor, 0.0f, 0); } LayerTestResult Concat3dDim0DiffInputDimsTest( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return Concat3dDim0DiffInputDimsTestImpl( - workloadFactory, memoryManager, 0.0f, 0); + workloadFactory, memoryManager, tensorHandleFactory, 0.0f, 0); } LayerTestResult Concat3dDim1DiffInputDimsTest( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat3dDim1DiffInputDimsTestImpl(workloadFactory, memoryManager, 0.0f, 0); + return Concat3dDim1DiffInputDimsTestImpl(workloadFactory, memoryManager, + tensorHandleFactory, 0.0f, 0); } LayerTestResult Concat3dDim2DiffInputDimsTest( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor) { return Concat3dDim2DiffInputDimsTestImpl( - workloadFactory, memoryManager, useSubtensor, 0.0f, 0); + workloadFactory, memoryManager, tensorHandleFactory, useSubtensor, 0.0f, 0); } LayerTestResult Concat4dDim0Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat4dDim0TestImpl(workloadFactory, memoryManager, 0.0f, 0); + return Concat4dDim0TestImpl(workloadFactory, memoryManager, tensorHandleFactory, 0.0f, 0); } LayerTestResult Concat4dDim1Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat4dDim1TestImpl(workloadFactory, memoryManager, 0.0f, 0); + return Concat4dDim1TestImpl(workloadFactory, memoryManager, tensorHandleFactory, 0.0f, 0); } LayerTestResult Concat4dDim2Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat4dDim2TestImpl(workloadFactory, memoryManager, 0.0f, 0); + return Concat4dDim2TestImpl(workloadFactory, memoryManager, tensorHandleFactory, 0.0f, 0); } LayerTestResult Concat4dDim3Test( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor) { - return Concat4dDim3TestImpl(workloadFactory, memoryManager, 0.0f, 0, useSubtensor); + return Concat4dDim3TestImpl(workloadFactory, memoryManager, + tensorHandleFactory, 0.0f, 0, useSubtensor); } LayerTestResult Concat4dDiffShapeDim0Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat4dDiffShapeDim0TestImpl(workloadFactory, memoryManager, 0.0f, 0); + return Concat4dDiffShapeDim0TestImpl(workloadFactory, memoryManager, + tensorHandleFactory, 0.0f, 0); } LayerTestResult Concat4dDiffShapeDim1Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return Concat4dDiffShapeDim1TestImpl( - workloadFactory, memoryManager, 0.0f, 0); + workloadFactory, memoryManager, tensorHandleFactory, 0.0f, 0); } LayerTestResult Concat4dDiffShapeDim2Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat4dDiffShapeDim2TestImpl(workloadFactory, memoryManager, 0.0f, 0); + return Concat4dDiffShapeDim2TestImpl(workloadFactory, memoryManager, + tensorHandleFactory, 0.0f, 0); } LayerTestResult Concat4dDiffShapeDim3Test( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor) { return Concat4dDiffShapeDim3TestImpl( - workloadFactory, memoryManager, 0.0f, 0, useSubtensor); + workloadFactory, memoryManager, tensorHandleFactory, 0.0f, 0, useSubtensor); } LayerTestResult ConcatFloat16Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat3dDim1TestImpl(workloadFactory, memoryManager, 0.0f, 0); + return Concat3dDim1TestImpl(workloadFactory, memoryManager, tensorHandleFactory, 0.0f, 0); } LayerTestResult ConcatBFloat16Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat3dDim1TestImpl(workloadFactory, memoryManager, 0.0f, 0); + return Concat3dDim1TestImpl(workloadFactory, memoryManager, tensorHandleFactory, 0.0f, 0); } LayerTestResult ConcatUint8DifferentQParamsTest( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { IgnoreUnused(memoryManager); @@ -2458,21 +2525,21 @@ LayerTestResult ConcatUint8DifferentQParamsTest( std::vector wOrigin2 = { 2, 0, 0 }; //Extent of the window is defined by size of input[1]. ConcatQueueDescriptor::ViewOrigin window2(wOrigin2); - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(outputTensorInfo); + + std::unique_ptr outputHandle = tensorHandleFactory.CreateTensorHandle(outputTensorInfo); bool subTensorsSupported = workloadFactory.SupportsSubTensors(); std::unique_ptr inputHandle1 = subTensorsSupported ? - workloadFactory.CreateSubTensorHandle(*outputHandle, inputTensorInfo1.GetShape(), wOrigin1.data()) : - workloadFactory.CreateTensorHandle(inputTensorInfo1); + tensorHandleFactory.CreateSubTensorHandle(*outputHandle, inputTensorInfo1.GetShape(), wOrigin1.data()) : + tensorHandleFactory.CreateTensorHandle(inputTensorInfo1); std::unique_ptr inputHandle2 = subTensorsSupported ? - workloadFactory.CreateSubTensorHandle(*outputHandle, inputTensorInfo2.GetShape(), wOrigin2.data()) : - workloadFactory.CreateTensorHandle(inputTensorInfo2); - ARMNN_NO_DEPRECATE_WARN_END + tensorHandleFactory.CreateSubTensorHandle(*outputHandle, inputTensorInfo2.GetShape(), wOrigin2.data()) : + tensorHandleFactory.CreateTensorHandle(inputTensorInfo2); + ConcatQueueDescriptor data; WorkloadInfo info; AddInputToWorkload(data, info, inputTensorInfo1, inputHandle1.get()); @@ -2501,7 +2568,8 @@ LayerTestResult ConcatUint8DifferentQParamsTest( LayerTestResult ConcatUint8Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { IgnoreUnused(memoryManager); @@ -2595,21 +2663,20 @@ LayerTestResult ConcatUint8Test( std::vector wOrigin2 = { 2, 0, 0 }; //Extent of the window is defined by size of input[1]. ConcatQueueDescriptor::ViewOrigin window2(wOrigin2); - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(outputTensorInfo); + std::unique_ptr outputHandle = tensorHandleFactory.CreateTensorHandle(outputTensorInfo); bool subTensorsSupported = workloadFactory.SupportsSubTensors(); std::unique_ptr inputHandle1 = subTensorsSupported ? - workloadFactory.CreateSubTensorHandle(*outputHandle, inputTensorInfo1.GetShape(), wOrigin1.data()) : - workloadFactory.CreateTensorHandle(inputTensorInfo1); + tensorHandleFactory.CreateSubTensorHandle(*outputHandle, inputTensorInfo1.GetShape(), wOrigin1.data()) : + tensorHandleFactory.CreateTensorHandle(inputTensorInfo1); std::unique_ptr inputHandle2 = subTensorsSupported ? - workloadFactory.CreateSubTensorHandle(*outputHandle, inputTensorInfo2.GetShape(), wOrigin2.data()) : - workloadFactory.CreateTensorHandle(inputTensorInfo2); - ARMNN_NO_DEPRECATE_WARN_END + tensorHandleFactory.CreateSubTensorHandle(*outputHandle, inputTensorInfo2.GetShape(), wOrigin2.data()) : + tensorHandleFactory.CreateTensorHandle(inputTensorInfo2); + ConcatQueueDescriptor data; WorkloadInfo info; @@ -2639,7 +2706,8 @@ LayerTestResult ConcatUint8Test( LayerTestResult ConcatUint16Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { IgnoreUnused(memoryManager); @@ -2730,21 +2798,21 @@ LayerTestResult ConcatUint16Test( std::vector wOrigin2 = { 2, 0, 0 }; //Extent of the window is defined by size of input[1]. ConcatQueueDescriptor::ViewOrigin window2(wOrigin2); - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(outputTensorInfo); + + std::unique_ptr outputHandle = tensorHandleFactory.CreateTensorHandle(outputTensorInfo); bool subTensorsSupported = workloadFactory.SupportsSubTensors(); std::unique_ptr inputHandle1 = subTensorsSupported ? - workloadFactory.CreateSubTensorHandle(*outputHandle, inputTensorInfo1.GetShape(), wOrigin1.data()) : - workloadFactory.CreateTensorHandle(inputTensorInfo1); + tensorHandleFactory.CreateSubTensorHandle(*outputHandle, inputTensorInfo1.GetShape(), wOrigin1.data()) : + tensorHandleFactory.CreateTensorHandle(inputTensorInfo1); std::unique_ptr inputHandle2 = subTensorsSupported ? - workloadFactory.CreateSubTensorHandle(*outputHandle, inputTensorInfo2.GetShape(), wOrigin2.data()) : - workloadFactory.CreateTensorHandle(inputTensorInfo2); - ARMNN_NO_DEPRECATE_WARN_END + tensorHandleFactory.CreateSubTensorHandle(*outputHandle, inputTensorInfo2.GetShape(), wOrigin2.data()) : + tensorHandleFactory.CreateTensorHandle(inputTensorInfo2); + ConcatQueueDescriptor data; WorkloadInfo info; @@ -2774,146 +2842,165 @@ LayerTestResult ConcatUint16Test( LayerTestResult Concat1dUint8Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat1dTestImpl(workloadFactory, memoryManager, 0.5f, -1); + return Concat1dTestImpl(workloadFactory, memoryManager, tensorHandleFactory, 0.5f, -1); } LayerTestResult Concat2dDim0Uint8Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat2dDim0TestImpl(workloadFactory, memoryManager, 0.5f, -1); + return Concat2dDim0TestImpl(workloadFactory, memoryManager, tensorHandleFactory, 0.5f, -1); } LayerTestResult Concat2dDim1Uint8Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat2dDim1TestImpl(workloadFactory, memoryManager, 0.5f, -1); + return Concat2dDim1TestImpl(workloadFactory, memoryManager, tensorHandleFactory, 0.5f, -1); } LayerTestResult Concat2dDim0DiffInputDimsUint8Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return Concat2dDim0DiffInputDimsTestImpl( - workloadFactory, memoryManager, 0.5f, -1); + workloadFactory, memoryManager, tensorHandleFactory, 0.5f, -1); } LayerTestResult Concat2dDim1DiffInputDimsUint8Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return Concat2dDim1DiffInputDimsTestImpl( - workloadFactory, memoryManager, 0.5f, -1); + workloadFactory, memoryManager, tensorHandleFactory, 0.5f, -1); } LayerTestResult Concat3dDim0Uint8Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat3dDim0TestImpl(workloadFactory, memoryManager, 0.5f, -1); + return Concat3dDim0TestImpl(workloadFactory, memoryManager, tensorHandleFactory, 0.5f, -1); } LayerTestResult Concat3dDim1Uint8Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat3dDim1TestImpl(workloadFactory, memoryManager, 0.5f, -1); + return Concat3dDim1TestImpl(workloadFactory, memoryManager, tensorHandleFactory, 0.5f, -1); } LayerTestResult Concat3dDim2Uint8Test( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor) { return Concat3dDim2TestImpl( - workloadFactory, memoryManager, useSubtensor, 0.5f, -1); + workloadFactory, memoryManager, tensorHandleFactory, useSubtensor, 0.5f, -1); } LayerTestResult Concat3dDim0DiffInputDimsUint8Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat3dDim0TestImpl(workloadFactory, memoryManager, 0.5f, -1); + return Concat3dDim0TestImpl(workloadFactory, memoryManager, tensorHandleFactory, 0.5f, -1); } LayerTestResult Concat3dDim1DiffInputDimsUint8Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return Concat3dDim1DiffInputDimsTestImpl( - workloadFactory, memoryManager, 0.5f, -1); + workloadFactory, memoryManager, tensorHandleFactory, 0.5f, -1); } LayerTestResult Concat3dDim2DiffInputDimsUint8Test( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor) { return Concat3dDim2DiffInputDimsTestImpl( - workloadFactory, memoryManager, useSubtensor, 0.5f, -1); + workloadFactory, memoryManager, tensorHandleFactory, useSubtensor, 0.5f, -1); } LayerTestResult Concat4dDim0Uint8Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat4dDim0TestImpl(workloadFactory, memoryManager, 0.5f, -1); + return Concat4dDim0TestImpl(workloadFactory, memoryManager, tensorHandleFactory, 0.5f, -1); } LayerTestResult Concat4dDim1Uint8Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat4dDim1TestImpl(workloadFactory, memoryManager, 0.5f, -1); + return Concat4dDim1TestImpl(workloadFactory, memoryManager, tensorHandleFactory, 0.5f, -1); } LayerTestResult Concat4dDim2Uint8Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return Concat4dDim2TestImpl(workloadFactory, memoryManager, 0.5f, -1); + return Concat4dDim2TestImpl(workloadFactory, memoryManager, tensorHandleFactory, 0.5f, -1); } LayerTestResult Concat4dDim3Uint8Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, bool useSubtensor) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor) { return Concat4dDim3TestImpl( - workloadFactory, memoryManager, 0.5f, -1, useSubtensor); + workloadFactory, memoryManager, tensorHandleFactory, 0.5f, -1, useSubtensor); } LayerTestResult Concat4dDiffShapeDim0Uint8Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return Concat4dDiffShapeDim0TestImpl( - workloadFactory, memoryManager, 0.5f, -1); + workloadFactory, memoryManager, tensorHandleFactory, 0.5f, -1); } LayerTestResult Concat4dDiffShapeDim1Uint8Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return Concat4dDiffShapeDim1TestImpl( - workloadFactory, memoryManager, 0.5f, -1); + workloadFactory, memoryManager, tensorHandleFactory, 0.5f, -1); } LayerTestResult Concat4dDiffShapeDim2Uint8Test( IWorkloadFactory& workloadFactory, - const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return Concat4dDiffShapeDim2TestImpl( - workloadFactory, memoryManager, 0.5f, -1); + workloadFactory, memoryManager, tensorHandleFactory, 0.5f, -1); } LayerTestResult Concat4dDiffShapeDim3Uint8Test( IWorkloadFactory& workloadFactory, const IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor) { return Concat4dDiffShapeDim3TestImpl( - workloadFactory, memoryManager, 0.5f, -1, useSubtensor); + workloadFactory, memoryManager, tensorHandleFactory, 0.5f, -1, useSubtensor); } diff --git a/src/backends/backendsCommon/test/layerTests/ConcatTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ConcatTestImpl.hpp index 167a547..64e0c0a 100644 --- a/src/backends/backendsCommon/test/layerTests/ConcatTestImpl.hpp +++ b/src/backends/backendsCommon/test/layerTests/ConcatTestImpl.hpp @@ -18,198 +18,245 @@ template> LayerTestResult ConcatDifferentInputOutputQParamTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor); LayerTestResult ConcatTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult ConcatBFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult ConcatFloat16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult ConcatUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult ConcatUint16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult ConcatUint8DifferentQParamsTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat1dTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat2dDim0Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat2dDim1Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat2dDim0DiffInputDimsTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat2dDim1DiffInputDimsTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat3dDim0Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat3dDim1Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat3dDim2Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor); LayerTestResult Concat3dDim0DiffInputDimsTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat3dDim1DiffInputDimsTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat3dDim2DiffInputDimsTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor); LayerTestResult Concat4dDim0Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat4dDim1Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat4dDim2Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat4dDim3Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor); LayerTestResult Concat4dDiffShapeDim0Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat4dDiffShapeDim1Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat4dDiffShapeDim2Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat4dDiffShapeDim3Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor); LayerTestResult Concat4dDim0Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat4dDim1Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat4dDim2Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat4dDim3Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor); LayerTestResult Concat4dDiffShapeDim0Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat4dDiffShapeDim1Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat4dDiffShapeDim2Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat4dDiffShapeDim3Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor); LayerTestResult Concat1dUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat2dDim0Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat2dDim1Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat2dDim0DiffInputDimsUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat2dDim1DiffInputDimsUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat3dDim0Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat3dDim1Uint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat3dDim2Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor); LayerTestResult Concat3dDim0DiffInputDimsUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat3dDim1DiffInputDimsUint8Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult Concat3dDim2DiffInputDimsUint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor); LayerTestResult ConcatDifferentInputOutputQParamUint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor); LayerTestResult ConcatDifferentInputOutputQParamInt16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool useSubtensor); diff --git a/src/backends/backendsCommon/test/layerTests/ConstantTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ConstantTestImpl.cpp index d84a9bf..45c94d3 100644 --- a/src/backends/backendsCommon/test/layerTests/ConstantTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/ConstantTestImpl.cpp @@ -25,6 +25,7 @@ template> LayerTestResult ConstantTestImpl( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset) { @@ -97,9 +98,9 @@ LayerTestResult ConstantTestImpl( LayerTestResult result(outputTensorInfo); result.outputExpected = input; - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(outputTensorInfo); - ARMNN_NO_DEPRECATE_WARN_END + + std::unique_ptr outputHandle = tensorHandleFactory.CreateTensorHandle(outputTensorInfo); + armnn::ScopedCpuTensorHandle constantTensor(inputTensorInfo); AllocateAndCopyDataToITensorHandle(&constantTensor, &input[0][0][0][0]); @@ -124,35 +125,40 @@ LayerTestResult ConstantTestImpl( LayerTestResult ConstantTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return ConstantTestImpl(workloadFactory, memoryManager, 0.0f, 0); + return ConstantTestImpl(workloadFactory, memoryManager, tensorHandleFactory, 0.0f, 0); } LayerTestResult ConstantInt16SimpleQuantizationScaleNoOffsetTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return ConstantTestImpl(workloadFactory, memoryManager, 1.0f, 0); + return ConstantTestImpl(workloadFactory, memoryManager, tensorHandleFactory, 1.0f, 0); } LayerTestResult ConstantUint8SimpleQuantizationScaleNoOffsetTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return ConstantTestImpl(workloadFactory, memoryManager, 1.0f, 0); + return ConstantTestImpl(workloadFactory, memoryManager, tensorHandleFactory, 1.0f, 0); } LayerTestResult ConstantUint8CustomQuantizationScaleAndOffsetTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return ConstantTestImpl(workloadFactory, memoryManager, 2e-6f, 1); + return ConstantTestImpl(workloadFactory, memoryManager, tensorHandleFactory, 2e-6f, 1); } LayerTestResult ConstantInt16CustomQuantizationScaleAndOffsetTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { - return ConstantTestImpl(workloadFactory, memoryManager, 2e-6f, 1); + return ConstantTestImpl(workloadFactory, memoryManager, tensorHandleFactory, 2e-6f, 1); } diff --git a/src/backends/backendsCommon/test/layerTests/ConstantTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ConstantTestImpl.hpp index 932965a..71aacb5 100644 --- a/src/backends/backendsCommon/test/layerTests/ConstantTestImpl.hpp +++ b/src/backends/backendsCommon/test/layerTests/ConstantTestImpl.hpp @@ -12,20 +12,25 @@ LayerTestResult ConstantTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult ConstantUint8SimpleQuantizationScaleNoOffsetTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult ConstantInt16SimpleQuantizationScaleNoOffsetTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult ConstantUint8CustomQuantizationScaleAndOffsetTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult ConstantInt16CustomQuantizationScaleAndOffsetTest( 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/Conv2dTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.cpp index 407e627..e99a26e 100644 --- a/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.cpp @@ -201,6 +201,7 @@ template SimpleConvolution2dTestImpl( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const boost::multi_array& originalInput, const boost::multi_array& originalKernel, const boost::multi_array& bias, @@ -312,10 +313,10 @@ LayerTestResult SimpleConvolution2dTestImpl( outputData = tmp; } ret.outputExpected = MakeTensor(outputTensorInfo, outputData); - 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::Convolution2dQueueDescriptor data; armnn::WorkloadInfo info; armnn::ScopedCpuTensorHandle weightsTensor(kernelDesc); @@ -368,6 +369,7 @@ template SimpleConvolution2dNhwcTestImpl( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const boost::multi_array& input, const boost::multi_array& kernel, const boost::multi_array& bias, @@ -418,10 +420,10 @@ LayerTestResult SimpleConvolution2dNhwcTestImpl( LayerTestResult ret(outputTensorInfo); ret.outputExpected = MakeTensor(outputTensorInfo, outputData); - 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::ScopedCpuTensorHandle weightsTensor(kernelDesc); AllocateAndCopyDataToITensorHandle(&weightsTensor, &kernel[0][0][0][0]); @@ -461,6 +463,7 @@ template Convolution1dTestImpl( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset, bool biasEnabled) @@ -539,10 +542,10 @@ LayerTestResult Convolution1dTestImpl( biasData, biasInfo.GetQuantizationScale(), biasInfo.GetQuantizationOffset(), 1, outputSize); } - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr inputHandle = workloadFactory.CreateTensorHandle(inputInfo); - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(outputInfo); - ARMNN_NO_DEPRECATE_WARN_END + + std::unique_ptr inputHandle = tensorHandleFactory.CreateTensorHandle(inputInfo); + std::unique_ptr outputHandle = tensorHandleFactory.CreateTensorHandle(outputInfo); + armnn::Convolution2dQueueDescriptor data; armnn::WorkloadInfo info; armnn::ScopedCpuTensorHandle weightsTensor(kernelInfo); @@ -583,6 +586,7 @@ template> LayerTestResult SimpleConvolution2d3x3NhwcTestCommon( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset, bool biasEnabled, @@ -623,6 +627,7 @@ LayerTestResult SimpleConvolution2d3x3NhwcTestCommon( return SimpleConvolution2dNhwcTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, input, kernel, boost::multi_array(), @@ -636,6 +641,7 @@ template> LayerTestResult SimpleConvolution2d3x3Stride2x2TestCommon( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset, bool biasEnabled, @@ -685,6 +691,7 @@ LayerTestResult SimpleConvolution2d3x3Stride2x2TestCommon( return SimpleConvolution2dNhwcTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, input, kernel, boost::multi_array(), @@ -704,6 +711,7 @@ template SimpleConvolution2d3x5TestCommon( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset, bool biasEnabled, @@ -777,6 +785,7 @@ LayerTestResult SimpleConvolution2d3x5TestCommon( return SimpleConvolution2dTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, input, kernel, GetBias2(biasEnabled, qScale * qScale), @@ -791,6 +800,7 @@ template SimpleConvolution2d3x3TestCommon( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset, bool biasEnabled, @@ -856,6 +866,7 @@ LayerTestResult SimpleConvolution2d3x3TestCommon( return SimpleConvolution2dTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, input, kernel, GetBias2(biasEnabled, qScale * qScale), @@ -870,6 +881,7 @@ template Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTestCommon( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const armnn::DataLayout layout, float qScale, int32_t qOffset) @@ -919,6 +931,7 @@ LayerTestResult Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTest return SimpleConvolution2dTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, input, kernel, GetBias2(false, qScale * qScale), @@ -937,6 +950,7 @@ template SimpleConvolution2dAsymmetricPaddingTestCommon( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const armnn::DataLayout layout, float qScale, int32_t qOffset) @@ -979,6 +993,7 @@ LayerTestResult SimpleConvolution2dAsymmetricPaddingTestCommon( return SimpleConvolution2dTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, input, kernel, GetBias2(false, qScale * qScale), @@ -996,6 +1011,7 @@ template Convolution2d3x3DilationTestCommon( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const std::vector& inputNoQuantizedValues, armnn::TensorInfo& inputTensorInfo, const std::vector& kernelNoQuantizedValues, @@ -1064,6 +1080,7 @@ LayerTestResult Convolution2d3x3DilationTestCommon( return SimpleConvolution2dTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, input, kernel, GetBias2(biasEnabled, qScale * qScale), @@ -1085,6 +1102,7 @@ template LayerTestResult Convolution2d3x3Dilation3x3Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout) { @@ -1125,6 +1143,7 @@ LayerTestResult Convolution2d3x3Dilation3x3Test( return Convolution2d3x3DilationTestCommon( workloadFactory, memoryManager, + tensorHandleFactory, inputNoQuantizedValues, inputTensorInfo, kernelNoQuantizedValues, @@ -1141,6 +1160,7 @@ template LayerTestResult Convolution2d2x3x3Dilation3x3Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout) { @@ -1196,6 +1216,7 @@ LayerTestResult Convolution2d2x3x3Dilation3x3Test( return Convolution2d3x3DilationTestCommon( workloadFactory, memoryManager, + tensorHandleFactory, inputNoQuantizedValues, inputTensorInfo, kernelNoQuantizedValues, @@ -1212,6 +1233,7 @@ template LayerTestResult Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test( armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout) { @@ -1256,6 +1278,7 @@ LayerTestResult Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test( return Convolution2d3x3DilationTestCommon( workloadFactory, memoryManager, + tensorHandleFactory, inputNoQuantizedValues, inputTensorInfo, kernelNoQuantizedValues, @@ -1279,7 +1302,9 @@ template> LayerTestResult CompareConvolution2dTestImpl( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, - armnn::IWorkloadFactory& refWorkloadFactory) + armnn::IWorkloadFactory& refWorkloadFactory, + const armnn::ITensorHandleFactory& tensorHandleFactory, + const armnn::ITensorHandleFactory& refTensorHandleFactory) { unsigned int inputHeight = 8; unsigned int inputWidth = 16; @@ -1319,10 +1344,10 @@ LayerTestResult CompareConvolution2dTestImpl( auto input = MakeRandomTensor(inputTensorInfo, 124908); auto kernel = MakeRandomTensor(kernelDesc, 891234); auto bias = MakeRandomTensor(biasDesc, 1028); - 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::Convolution2dQueueDescriptor data; armnn::WorkloadInfo info; armnn::ScopedCpuTensorHandle weightsTensor(kernelDesc); @@ -1342,10 +1367,10 @@ LayerTestResult CompareConvolution2dTestImpl( data.m_Parameters.m_PadTop = padY; data.m_Parameters.m_PadBottom = padY; data.m_Parameters.m_BiasEnabled = true; - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr outputHandleRef = refWorkloadFactory.CreateTensorHandle(outputTensorInfo); - std::unique_ptr inputHandleRef = refWorkloadFactory.CreateTensorHandle(inputTensorInfo); - ARMNN_NO_DEPRECATE_WARN_END + + std::unique_ptr outputHandleRef = refTensorHandleFactory.CreateTensorHandle(outputTensorInfo); + std::unique_ptr inputHandleRef = refTensorHandleFactory.CreateTensorHandle(inputTensorInfo); + armnn::Convolution2dQueueDescriptor refData = data; armnn::WorkloadInfo refInfo = info; SetWorkloadInput(refData, refInfo, 0, inputTensorInfo, inputHandleRef.get()); @@ -1377,6 +1402,7 @@ LayerTestResult CompareConvolution2dTestImpl( LayerTestResult Convolution2d3x3Stride2x2BFloat16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout& dataLayout) { @@ -1467,6 +1493,7 @@ LayerTestResult Convolution2d3x3Stride2x2BFloat16Test( ( workloadFactory, memoryManager, + tensorHandleFactory, input, kernel, boost::multi_array(), @@ -1485,6 +1512,7 @@ LayerTestResult Convolution2d3x3Stride2x2BFloat16Test( LayerTestResult Convolution2d3x3Stride2x2BFloat16SmallValueTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout& dataLayout) { @@ -1575,6 +1603,7 @@ LayerTestResult Convolution2d3x3Stride2x2BFloat16SmallValueTest( ( workloadFactory, memoryManager, + tensorHandleFactory, input, kernel, boost::multi_array(), @@ -1599,6 +1628,7 @@ template DepthwiseConvolution2dAsymmetricTestImpl( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const boost::multi_array& input, const boost::multi_array& kernel, const boost::multi_array& bias, @@ -1689,10 +1719,10 @@ LayerTestResult DepthwiseConvolution2dAsymmetricTestImpl( } ret.outputExpected = MakeTensor(outputTensorInfo, outputData); - 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::ScopedCpuTensorHandle weightsTensor(kernelDesc); AllocateAndCopyDataToITensorHandle(&weightsTensor, &kernel[0][0][0][0]); @@ -1736,6 +1766,7 @@ template DepthwiseConvolution2dDepthMul1TestImpl( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset, bool biasEnabled, @@ -1846,10 +1877,10 @@ LayerTestResult DepthwiseConvolution2dDepthMul1TestImpl( } ret.outputExpected = MakeTensor(outputTensorInfo, outputImage); - 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::DepthwiseConvolution2dQueueDescriptor data; armnn::WorkloadInfo info; armnn::ScopedCpuTensorHandle weightsTensor(kernelDesc); @@ -1889,6 +1920,7 @@ template DepthwiseConvolution2dTestImpl( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset, bool biasEnabled, @@ -2058,10 +2090,10 @@ LayerTestResult DepthwiseConvolution2dTestImpl( } ret.outputExpected = MakeTensor(outputTensorInfo, outputImage); - 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::DepthwiseConvolution2dQueueDescriptor data; armnn::WorkloadInfo info; armnn::ScopedCpuTensorHandle weightsTensor(kernelDesc); @@ -2102,6 +2134,7 @@ template DepthwiseConvolution2dTestImpl( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const boost::multi_array& originalInput, const boost::multi_array& originalKernel, const boost::multi_array& bias, @@ -2214,10 +2247,10 @@ LayerTestResult DepthwiseConvolution2dTestImpl( outputData = tmp; } ret.outputExpected = MakeTensor(outputTensorInfo, outputData); -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::DepthwiseConvolution2dQueueDescriptor data; armnn::WorkloadInfo info; armnn::ScopedCpuTensorHandle weightsTensor(kernelDesc); @@ -2265,6 +2298,7 @@ template DepthwiseConvolution2dAsymmetricTestCommon( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset, bool biasEnabled, @@ -2329,6 +2363,7 @@ LayerTestResult DepthwiseConvolution2dAsymmetricTestCommon( return DepthwiseConvolution2dAsymmetricTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, input, kernel, GetBias2(biasEnabled, qScale * qScale), @@ -2349,6 +2384,7 @@ template DepthwiseConvolution2dNhwcTestCommon( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset, bool biasEnabled) @@ -2410,6 +2446,7 @@ LayerTestResult DepthwiseConvolution2dNhwcTestCommon( return DepthwiseConvolution2dTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, input, kernel, GetBias2(biasEnabled, qScale * qScale), @@ -2430,6 +2467,7 @@ template SimpleDepthwiseConvolution2d3x3Dilation3x3NhwcTestCommon( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, float qScale, int32_t qOffset, bool biasEnabled) @@ -2485,6 +2523,7 @@ LayerTestResult SimpleDepthwiseConvolution2d3x3Dilation3x3NhwcTestCommon( return DepthwiseConvolution2dTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, input, kernel, GetBias2(biasEnabled, qScale * qScale), @@ -2506,6 +2545,7 @@ template DepthwiseConvolution2d3x3DilationTestCommon( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const std::vector& inputNoQuantizedValues, armnn::TensorInfo& inputTensorInfo, const std::vector& kernelNoQuantizedValues, @@ -2574,6 +2614,7 @@ LayerTestResult DepthwiseConvolution2d3x3DilationTestCommon( return DepthwiseConvolution2dTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, input, kernel, GetBias(biasEnabled, qScale * qScale, outputTensorInfo, layout), @@ -2595,6 +2636,7 @@ template LayerTestResult DepthwiseConvolution2d3x3Dilation3x3Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout) { @@ -2635,6 +2677,7 @@ LayerTestResult DepthwiseConvolution2d3x3Dilation3x3Test( return DepthwiseConvolution2d3x3DilationTestCommon( workloadFactory, memoryManager, + tensorHandleFactory, inputNoQuantizedValues, inputTensorInfo, kernelNoQuantizedValues, @@ -2651,6 +2694,7 @@ template LayerTestResult DepthwiseConvolution2d2x3x3Dilation3x3Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout) { @@ -2711,6 +2755,7 @@ LayerTestResult DepthwiseConvolution2d2x3x3Dilation3x3Test( return DepthwiseConvolution2d3x3DilationTestCommon( workloadFactory, memoryManager, + tensorHandleFactory, inputNoQuantizedValues, inputTensorInfo, kernelNoQuantizedValues, @@ -2727,6 +2772,7 @@ template LayerTestResult DepthwiseConvolution2dMult4Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout) { @@ -2803,6 +2849,7 @@ LayerTestResult DepthwiseConvolution2dMult4Test( return DepthwiseConvolution2d3x3DilationTestCommon( workloadFactory, memoryManager, + tensorHandleFactory, inputNoQuantizedValues, inputTensorInfo, kernelNoQuantizedValues, @@ -2819,6 +2866,7 @@ template LayerTestResult DepthwiseConvolution2dMult2Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout) { @@ -2872,6 +2920,7 @@ LayerTestResult DepthwiseConvolution2dMult2Test( return DepthwiseConvolution2d3x3DilationTestCommon( workloadFactory, memoryManager, + tensorHandleFactory, inputNoQuantizedValues, inputTensorInfo, kernelNoQuantizedValues, @@ -2889,6 +2938,8 @@ LayerTestResult CompareDepthwiseConvolution2dTestImpl( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, armnn::IWorkloadFactory& refWorkloadFactory, + const armnn::ITensorHandleFactory& tensorHandleFactory, + const armnn::ITensorHandleFactory& refTensorHandleFactory, const armnnUtils::DataLayoutIndexed& layout) { unsigned int inputHeight = 8; @@ -2951,10 +3002,10 @@ LayerTestResult CompareDepthwiseConvolution2dTestImpl( auto kernel = MakeRandomTensor(kernelDesc, 891234, 0.0f, 255.0f); auto bias = MakeRandomTensor::Type, 1>( biasDesc, 1028, 0.0f, 255.0f); - 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::DepthwiseConvolution2dQueueDescriptor data; armnn::WorkloadInfo info; armnn::ScopedCpuTensorHandle weightsTensor(kernelDesc); @@ -2975,10 +3026,10 @@ LayerTestResult CompareDepthwiseConvolution2dTestImpl( data.m_Parameters.m_PadBottom = padY; data.m_Parameters.m_BiasEnabled = true; data.m_Parameters.m_DataLayout = layout.GetDataLayout(); - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr outputHandleRef = refWorkloadFactory.CreateTensorHandle(outputTensorInfo); - std::unique_ptr inputHandleRef = refWorkloadFactory.CreateTensorHandle(inputTensorInfo); - ARMNN_NO_DEPRECATE_WARN_END + + std::unique_ptr outputHandleRef = refTensorHandleFactory.CreateTensorHandle(outputTensorInfo); + std::unique_ptr inputHandleRef = refTensorHandleFactory.CreateTensorHandle(inputTensorInfo); + armnn::DepthwiseConvolution2dQueueDescriptor refData = data; armnn::WorkloadInfo refInfo = info; SetWorkloadInput(refData, refInfo, 0, inputTensorInfo, inputHandleRef.get()); @@ -3014,6 +3065,7 @@ template LayerTestResult, 4> Convolution2d3x3Dilation3x3Test( armnn::IWorkloadFactory&, const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + const armnn::ITensorHandleFactory&, bool, armnn::DataLayout); @@ -3021,6 +3073,7 @@ template LayerTestResult, 4> Convolution2d3x3Dilation3x3Test( armnn::IWorkloadFactory&, const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + const armnn::ITensorHandleFactory&, bool, armnn::DataLayout); @@ -3028,6 +3081,7 @@ template LayerTestResult, 4> Convolution2d3x3Dilation3x3Test( armnn::IWorkloadFactory&, const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + const armnn::ITensorHandleFactory&, bool, armnn::DataLayout); @@ -3035,6 +3089,7 @@ template LayerTestResult, 4> Convolution2d3x3Dilation3x3Test( armnn::IWorkloadFactory&, const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + const armnn::ITensorHandleFactory&, bool, armnn::DataLayout); @@ -3042,6 +3097,7 @@ template LayerTestResult, 4> Convolution2d3x3Dilation3x3Test( armnn::IWorkloadFactory&, const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + const armnn::ITensorHandleFactory&, bool, armnn::DataLayout); @@ -3049,6 +3105,7 @@ template LayerTestResult, 4> Convolution2d2x3x3Dilation3x3Test( armnn::IWorkloadFactory&, const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + const armnn::ITensorHandleFactory&, bool, armnn::DataLayout); @@ -3056,6 +3113,7 @@ template LayerTestResult, 4> Convolution2d2x3x3Dilation3x3Test( armnn::IWorkloadFactory&, const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + const armnn::ITensorHandleFactory&, bool, armnn::DataLayout); @@ -3063,6 +3121,7 @@ template LayerTestResult, 4> Convolution2d2x3x3Dilation3x3Test( armnn::IWorkloadFactory&, const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + const armnn::ITensorHandleFactory&, bool, armnn::DataLayout); @@ -3070,6 +3129,7 @@ template LayerTestResult, 4> Convolution2d2x3x3Dilation3x3Test( armnn::IWorkloadFactory&, const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + const armnn::ITensorHandleFactory&, bool, armnn::DataLayout); @@ -3077,6 +3137,7 @@ template LayerTestResult, 4> Convolution2d2x3x3Dilation3x3Test( armnn::IWorkloadFactory&, const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + const armnn::ITensorHandleFactory&, bool, armnn::DataLayout); @@ -3084,6 +3145,7 @@ template LayerTestResult, 4> Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test( armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); @@ -3091,6 +3153,7 @@ template LayerTestResult, 4> Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test( armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); @@ -3098,6 +3161,7 @@ template LayerTestResult, 4> Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test( armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); @@ -3105,6 +3169,7 @@ template LayerTestResult, 4> Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test( armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); @@ -3112,6 +3177,7 @@ template LayerTestResult, 4> Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test( armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); @@ -3119,6 +3185,7 @@ template LayerTestResult, 4> DepthwiseConvolution2d3x3Dilation3x3Test( armnn::IWorkloadFactory&, const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + const armnn::ITensorHandleFactory&, bool, armnn::DataLayout); @@ -3126,6 +3193,7 @@ template LayerTestResult, 4> DepthwiseConvolution2d3x3Dilation3x3Test( armnn::IWorkloadFactory&, const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + const armnn::ITensorHandleFactory&, bool, armnn::DataLayout); @@ -3133,6 +3201,7 @@ template LayerTestResult, 4> DepthwiseConvolution2d3x3Dilation3x3Test( armnn::IWorkloadFactory&, const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + const armnn::ITensorHandleFactory&, bool, armnn::DataLayout); @@ -3140,6 +3209,7 @@ template LayerTestResult, 4> DepthwiseConvolution2d3x3Dilation3x3Test( armnn::IWorkloadFactory&, const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + const armnn::ITensorHandleFactory&, bool, armnn::DataLayout); @@ -3147,6 +3217,7 @@ template LayerTestResult, 4> DepthwiseConvolution2d3x3Dilation3x3Test( armnn::IWorkloadFactory&, const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + const armnn::ITensorHandleFactory&, bool, armnn::DataLayout); @@ -3154,6 +3225,7 @@ template LayerTestResult, 4> DepthwiseConvolution2d2x3x3Dilation3x3Test( armnn::IWorkloadFactory&, const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + const armnn::ITensorHandleFactory&, bool, armnn::DataLayout); @@ -3161,6 +3233,7 @@ template LayerTestResult, 4> DepthwiseConvolution2d2x3x3Dilation3x3Test( armnn::IWorkloadFactory&, const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + const armnn::ITensorHandleFactory&, bool, armnn::DataLayout); @@ -3168,6 +3241,7 @@ template LayerTestResult, 4> DepthwiseConvolution2d2x3x3Dilation3x3Test( armnn::IWorkloadFactory&, const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + const armnn::ITensorHandleFactory&, bool, armnn::DataLayout); @@ -3175,6 +3249,7 @@ template LayerTestResult, 4> DepthwiseConvolution2d2x3x3Dilation3x3Test( armnn::IWorkloadFactory&, const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + const armnn::ITensorHandleFactory&, bool, armnn::DataLayout); @@ -3182,6 +3257,7 @@ template LayerTestResult, 4> DepthwiseConvolution2d2x3x3Dilation3x3Test( armnn::IWorkloadFactory&, const armnn::IBackendInternal::IMemoryManagerSharedPtr&, + const armnn::ITensorHandleFactory&, bool, armnn::DataLayout); @@ -3189,6 +3265,7 @@ template LayerTestResult, 4> DepthwiseConvolution2dMult4Test( armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); @@ -3196,6 +3273,7 @@ template LayerTestResult, 4> DepthwiseConvolution2dMult4Test( armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); @@ -3203,6 +3281,7 @@ template LayerTestResult, 4> DepthwiseConvolution2dMult2Test( armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); @@ -3210,6 +3289,7 @@ template LayerTestResult, 4> DepthwiseConvolution2dMult2Test( armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); @@ -3220,41 +3300,46 @@ DepthwiseConvolution2dMult2Test SimpleConvolution2d3x5Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout) { return SimpleConvolution2d3x5TestCommon( - workloadFactory, memoryManager, 0.f, 0, biasEnabled, layout); + workloadFactory, memoryManager, tensorHandleFactory, 0.f, 0, biasEnabled, layout); } LayerTestResult SimpleConvolution2d3x5Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout) { return SimpleConvolution2d3x5TestCommon( - workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout); + workloadFactory, memoryManager, tensorHandleFactory, 0.5f, 50, biasEnabled, layout); } LayerTestResult SimpleConvolution2d3x3Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout) { return SimpleConvolution2d3x3TestCommon( - workloadFactory, memoryManager, 0.f, 0, biasEnabled, layout); + workloadFactory, memoryManager, tensorHandleFactory, 0.f, 0, biasEnabled, layout); } LayerTestResult SimpleConvolution2d3x3NhwcTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled) { return SimpleConvolution2d3x3NhwcTestCommon( workloadFactory, memoryManager, + tensorHandleFactory, 0.f, 0, biasEnabled, @@ -3264,12 +3349,14 @@ LayerTestResult SimpleConvolution2d3x3NhwcTest( LayerTestResult SimpleConvolution2d3x3Stride2x2Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout) { return SimpleConvolution2d3x3Stride2x2TestCommon( workloadFactory, memoryManager, + tensorHandleFactory, 0.f, 0, biasEnabled, @@ -3279,73 +3366,81 @@ LayerTestResult SimpleConvolution2d3x3Stride2x2Test( LayerTestResult SimpleConvolution2d3x3Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout) { return SimpleConvolution2d3x3TestCommon( - workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout); + workloadFactory, memoryManager, tensorHandleFactory, 0.5f, 50, biasEnabled, layout); } LayerTestResult SimpleConvolution2d3x5QSymm16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout) { return SimpleConvolution2d3x5TestCommon( - workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout); + workloadFactory, memoryManager, tensorHandleFactory, 0.5f, 50, biasEnabled, layout); } LayerTestResult SimpleConvolution2d3x3QSymm16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout) { return SimpleConvolution2d3x3TestCommon( - workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout); + workloadFactory, memoryManager, tensorHandleFactory, 0.5f, 50, biasEnabled, layout); } LayerTestResult Convolution2dAsymmetricPaddingTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, armnn::DataLayout layout) { return SimpleConvolution2dAsymmetricPaddingTestCommon( - workloadFactory, memoryManager, layout, 0.0f, 0); + workloadFactory, memoryManager, tensorHandleFactory, layout, 0.0f, 0); } LayerTestResult Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, armnn::DataLayout layout) { return Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTestCommon ( - workloadFactory, memoryManager, layout, 0.0f, 0); + workloadFactory, memoryManager, tensorHandleFactory, layout, 0.0f, 0); } LayerTestResult Convolution1dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled) { return Convolution1dTestImpl( - workloadFactory, memoryManager, 0.0f, 0, biasEnabled); + workloadFactory, memoryManager, tensorHandleFactory, 0.0f, 0, biasEnabled); } LayerTestResult Convolution1dUint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled) { return Convolution1dTestImpl( - workloadFactory, memoryManager, 0.1f, 128, biasEnabled); + workloadFactory, memoryManager, tensorHandleFactory, 0.1f, 128, biasEnabled); } LayerTestResult Convolution2dPerAxisQuantTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const armnn::DataLayout layout) { using namespace armnn; @@ -3402,10 +3497,10 @@ LayerTestResult Convolution2dPerAxisQuantTest( descriptor.m_BiasEnabled = true; descriptor.m_DataLayout = layout; - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr inputHandle = workloadFactory.CreateTensorHandle(inputInfo); - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(outputInfo); - ARMNN_NO_DEPRECATE_WARN_END + + std::unique_ptr inputHandle = tensorHandleFactory.CreateTensorHandle(inputInfo); + std::unique_ptr outputHandle = tensorHandleFactory.CreateTensorHandle(outputInfo); + WorkloadInfo workloadInfo; ScopedCpuTensorHandle weightTensor(kernelInfo); @@ -3440,44 +3535,50 @@ LayerTestResult Convolution2dPerAxisQuantTest( LayerTestResult CompareConvolution2dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, - armnn::IWorkloadFactory& refWorkloadFactory) + armnn::IWorkloadFactory& refWorkloadFactory, + const armnn::ITensorHandleFactory& tensorHandleFactory, + const armnn::ITensorHandleFactory& refTensorHandleFactory) { return CompareConvolution2dTestImpl( - workloadFactory, memoryManager, refWorkloadFactory); + workloadFactory, memoryManager, refWorkloadFactory, tensorHandleFactory, refTensorHandleFactory); } LayerTestResult DepthwiseConvolution2dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout) { return DepthwiseConvolution2dTestImpl( - workloadFactory, memoryManager, 0.0f, 0, biasEnabled, layout); + workloadFactory, memoryManager, tensorHandleFactory, 0.0f, 0, biasEnabled, layout); } LayerTestResult DepthwiseConvolution2dDepthNhwcTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled) { return DepthwiseConvolution2dNhwcTestCommon( - workloadFactory, memoryManager, 0.0f, 0, biasEnabled); + workloadFactory, memoryManager, tensorHandleFactory, 0.0f, 0, biasEnabled); } LayerTestResult DepthwiseConvolution2dDepthMul1Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout) { return DepthwiseConvolution2dDepthMul1TestImpl( - workloadFactory, memoryManager, 0.0f, 0, biasEnabled, layout); + workloadFactory, memoryManager, tensorHandleFactory, 0.0f, 0, biasEnabled, layout); } LayerTestResult DepthwiseConvolution2dDepthMul64Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputTensorInfo({ 1, 1, 2, 2 }, armnn::DataType::Float32); auto input = MakeTensor(inputTensorInfo, { 1.f, 2.f, 3.f, 4.f }); @@ -3498,6 +3599,7 @@ LayerTestResult DepthwiseConvolution2dDepthMul64Test( return DepthwiseConvolution2dTestImpl( workloadFactory, memoryManager, + tensorHandleFactory, input, kernel, boost::multi_array(), @@ -3510,40 +3612,45 @@ LayerTestResult DepthwiseConvolution2dDepthMul64Test( LayerTestResult DepthwiseConvolution2dAsymmetricTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout) { return DepthwiseConvolution2dAsymmetricTestCommon( - workloadFactory, memoryManager, 0.0f, 0, biasEnabled, layout); + workloadFactory, memoryManager, tensorHandleFactory, 0.0f, 0, biasEnabled, layout); } LayerTestResult DepthwiseConvolution2dUint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout) { return DepthwiseConvolution2dTestImpl( - workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout); + workloadFactory, memoryManager, tensorHandleFactory, 0.5f, 50, biasEnabled, layout); } LayerTestResult DepthwiseConvolution2dDepthMul1Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout) { return DepthwiseConvolution2dDepthMul1TestImpl( - workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout); + workloadFactory, memoryManager, tensorHandleFactory, 0.5f, 50, biasEnabled, layout); } LayerTestResult SimpleDepthwiseConvolution2d3x3Dilation3x3NhwcTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { return SimpleDepthwiseConvolution2d3x3Dilation3x3NhwcTestCommon( workloadFactory, memoryManager, + tensorHandleFactory, 0.f, 0, false); @@ -3552,26 +3659,29 @@ LayerTestResult SimpleDepthwiseConvolution2d3x3Dilation3x3NhwcTest( LayerTestResult DepthwiseConvolution2dInt16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout) { return DepthwiseConvolution2dTestImpl( - workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout); + workloadFactory, memoryManager, tensorHandleFactory, 0.5f, 50, biasEnabled, layout); } LayerTestResult DepthwiseConvolution2dDepthMul1Int16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout) { return DepthwiseConvolution2dDepthMul1TestImpl( - workloadFactory, memoryManager, 0.5f, 50, biasEnabled, layout); + workloadFactory, memoryManager, tensorHandleFactory, 0.5f, 50, biasEnabled, layout); } LayerTestResult DepthwiseConvolution2dPerAxisQuantTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const armnn::DataLayout layout) { using namespace armnn; @@ -3643,10 +3753,8 @@ LayerTestResult DepthwiseConvolution2dPerAxisQuantTest( descriptor.m_BiasEnabled = true; descriptor.m_DataLayout = layout; - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr inputHandle = workloadFactory.CreateTensorHandle(inputInfo); - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(outputInfo); - ARMNN_NO_DEPRECATE_WARN_END + std::unique_ptr inputHandle = tensorHandleFactory.CreateTensorHandle(inputInfo); + std::unique_ptr outputHandle = tensorHandleFactory.CreateTensorHandle(outputInfo); WorkloadInfo workloadInfo; ScopedCpuTensorHandle weightTensor(kernelInfo); @@ -3683,18 +3791,22 @@ LayerTestResult CompareDepthwiseConvolution2dFloatTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, armnn::IWorkloadFactory& refWorkloadFactory, + const armnn::ITensorHandleFactory& tensorHandleFactory, + const armnn::ITensorHandleFactory& refTensorHandleFactory, const armnn::DataLayout layout) { return CompareDepthwiseConvolution2dTestImpl( - workloadFactory, memoryManager, refWorkloadFactory, layout); + workloadFactory, memoryManager, refWorkloadFactory, tensorHandleFactory, refTensorHandleFactory, layout); } LayerTestResult CompareDepthwiseConvolution2dUint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, armnn::IWorkloadFactory& refWorkloadFactory, + const armnn::ITensorHandleFactory& tensorHandleFactory, + const armnn::ITensorHandleFactory& refTensorHandleFactory, const armnn::DataLayout layout) { return CompareDepthwiseConvolution2dTestImpl( - workloadFactory, memoryManager, refWorkloadFactory, layout); + workloadFactory, memoryManager, refWorkloadFactory, tensorHandleFactory, refTensorHandleFactory, layout); } diff --git a/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.hpp b/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.hpp index 21c4cf9..1f54034 100644 --- a/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.hpp +++ b/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.hpp @@ -22,6 +22,7 @@ template Convolution2d3x3Dilation3x3Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); @@ -29,6 +30,7 @@ template Convolution2d2x3x3Dilation3x3Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); @@ -36,95 +38,113 @@ template Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test( armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); LayerTestResult SimpleConvolution2d3x5Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); LayerTestResult SimpleConvolution2d3x3Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); LayerTestResult SimpleConvolution2d3x3Stride2x2Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); LayerTestResult SimpleConvolution2d3x3NhwcTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled); LayerTestResult SimpleConvolution2d3x5Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); LayerTestResult SimpleConvolution2d3x3Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); LayerTestResult SimpleConvolution2d3x5QSymm16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); LayerTestResult SimpleConvolution2d3x3QSymm16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); LayerTestResult Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, armnn::DataLayout layout); LayerTestResult Convolution2dAsymmetricPaddingTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, armnn::DataLayout layout); LayerTestResult Convolution1dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled); LayerTestResult Convolution1dUint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled); LayerTestResult CompareConvolution2dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, - armnn::IWorkloadFactory& refWorkloadFactory); + armnn::IWorkloadFactory& refWorkloadFactory, + const armnn::ITensorHandleFactory& tensorHandleFactory, + const armnn::ITensorHandleFactory& refTensorHandleFactory); LayerTestResult Convolution2dPerAxisQuantTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const armnn::DataLayout layout); LayerTestResult Convolution2d3x3Stride2x2BFloat16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout& dataLayout); LayerTestResult Convolution2d3x3Stride2x2BFloat16SmallValueTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout& dataLayout); @@ -136,6 +156,7 @@ template DepthwiseConvolution2d3x3Dilation3x3Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); @@ -143,6 +164,7 @@ template DepthwiseConvolution2d2x3x3Dilation3x3Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); @@ -150,6 +172,7 @@ template DepthwiseConvolution2dMult4Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); @@ -157,6 +180,7 @@ template DepthwiseConvolution2dMult2Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); @@ -165,76 +189,93 @@ LayerTestResult CompareDepthwiseConvolution2dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, armnn::IWorkloadFactory& refWorkloadFactory, + const armnn::ITensorHandleFactory& tensorHandleFactory, + const armnn::ITensorHandleFactory& refTensorHandleFactory, const armnn::DataLayout layout); LayerTestResult DepthwiseConvolution2dTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); LayerTestResult DepthwiseConvolution2dDepthNhwcTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled); LayerTestResult DepthwiseConvolution2dDepthMul1Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); LayerTestResult DepthwiseConvolution2dDepthMul64Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult DepthwiseConvolution2dAsymmetricTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); LayerTestResult SimpleDepthwiseConvolution2d3x3Dilation3x3NhwcTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); LayerTestResult DepthwiseConvolution2dUint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); LayerTestResult DepthwiseConvolution2dDepthMul1Uint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); LayerTestResult DepthwiseConvolution2dInt16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); LayerTestResult DepthwiseConvolution2dDepthMul1Int16Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout); LayerTestResult DepthwiseConvolution2dPerAxisQuantTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const armnn::DataLayout layout); LayerTestResult CompareDepthwiseConvolution2dFloatTest( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, armnn::IWorkloadFactory& refWorkloadFactory, + const armnn::ITensorHandleFactory& tensorHandleFactory, + const armnn::ITensorHandleFactory& refTensorHandleFactory, const armnn::DataLayout layout); LayerTestResult CompareDepthwiseConvolution2dUint8Test( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, armnn::IWorkloadFactory& refWorkloadFactory, + const armnn::ITensorHandleFactory& tensorHandleFactory, + const armnn::ITensorHandleFactory& refTensorHandleFactory, const armnn::DataLayout layout); diff --git a/src/backends/backendsCommon/test/layerTests/ConvertBf16ToFp32TestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ConvertBf16ToFp32TestImpl.cpp index e85af56..fdc6220 100644 --- a/src/backends/backendsCommon/test/layerTests/ConvertBf16ToFp32TestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/ConvertBf16ToFp32TestImpl.cpp @@ -12,7 +12,8 @@ LayerTestResult ConvertBf16ToFp32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { IgnoreUnused(memoryManager); @@ -33,10 +34,8 @@ LayerTestResult ConvertBf16ToFp32Test( { -37.5f, -15.2f, -8.76f, -2.0f, -1.5f, -1.3f, -0.5f, -0.4f, 0.0f, 1.0f, 0.4f, 0.5f, 1.3f, 1.5f, 2.0f, 8.76f, 15.2f, 37.5f }); - 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::ConvertBf16ToFp32QueueDescriptor data; armnn::WorkloadInfo info; diff --git a/src/backends/backendsCommon/test/layerTests/ConvertBf16ToFp32TestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ConvertBf16ToFp32TestImpl.hpp index 717ec6a..08f4c04 100644 --- a/src/backends/backendsCommon/test/layerTests/ConvertBf16ToFp32TestImpl.hpp +++ b/src/backends/backendsCommon/test/layerTests/ConvertBf16ToFp32TestImpl.hpp @@ -14,4 +14,5 @@ LayerTestResult ConvertBf16ToFp32Test( 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/ConvertFp16ToFp32TestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ConvertFp16ToFp32TestImpl.cpp index fa2341e..8745a52 100644 --- a/src/backends/backendsCommon/test/layerTests/ConvertFp16ToFp32TestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/ConvertFp16ToFp32TestImpl.cpp @@ -15,7 +15,8 @@ LayerTestResult SimpleConvertFp16ToFp32Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { IgnoreUnused(memoryManager); using namespace half_float::literal; @@ -31,10 +32,10 @@ LayerTestResult SimpleConvertFp16ToFp32Test( ret.outputExpected = MakeTensor(outputTensorInfo, { -37.5f, -15.2f, -8.76f, -2.0f, -1.5f, -1.3f, -0.5f, -0.4f, 0.0f, 1.0f, 0.4f, 0.5f, 1.3f, 1.5f, 2.0f, 8.76f, 15.2f, 37.5f }); - 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::ConvertFp16ToFp32QueueDescriptor data; armnn::WorkloadInfo info; AddInputToWorkload(data, info, inputTensorInfo, inputHandle.get()); diff --git a/src/backends/backendsCommon/test/layerTests/ConvertFp16ToFp32TestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ConvertFp16ToFp32TestImpl.hpp index f0f1a4b..8eefb77 100644 --- a/src/backends/backendsCommon/test/layerTests/ConvertFp16ToFp32TestImpl.hpp +++ b/src/backends/backendsCommon/test/layerTests/ConvertFp16ToFp32TestImpl.hpp @@ -12,4 +12,5 @@ LayerTestResult SimpleConvertFp16ToFp32Test( 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/ConvertFp32ToBf16TestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ConvertFp32ToBf16TestImpl.cpp index c721304..db83259 100644 --- a/src/backends/backendsCommon/test/layerTests/ConvertFp32ToBf16TestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/ConvertFp32ToBf16TestImpl.cpp @@ -12,7 +12,8 @@ LayerTestResult ConvertFp32ToBf16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { IgnoreUnused(memoryManager); @@ -53,10 +54,10 @@ LayerTestResult ConvertFp32ToBf16Test( LayerTestResult ret(outputTensorInfo); ret.outputExpected = MakeTensor(outputTensorInfo, outputValues); - 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::ConvertFp32ToBf16QueueDescriptor data; armnn::WorkloadInfo info; AddInputToWorkload(data, info, inputTensorInfo, inputHandle.get()); diff --git a/src/backends/backendsCommon/test/layerTests/ConvertFp32ToBf16TestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ConvertFp32ToBf16TestImpl.hpp index 4c6125f..9e1da65 100644 --- a/src/backends/backendsCommon/test/layerTests/ConvertFp32ToBf16TestImpl.hpp +++ b/src/backends/backendsCommon/test/layerTests/ConvertFp32ToBf16TestImpl.hpp @@ -14,4 +14,5 @@ LayerTestResult ConvertFp32ToBf16Test( 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/ConvertFp32ToFp16TestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ConvertFp32ToFp16TestImpl.cpp index 2041470..5fbec56 100644 --- a/src/backends/backendsCommon/test/layerTests/ConvertFp32ToFp16TestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/ConvertFp32ToFp16TestImpl.cpp @@ -13,7 +13,8 @@ LayerTestResult SimpleConvertFp32ToFp16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { IgnoreUnused(memoryManager); using namespace half_float::literal; @@ -29,10 +30,10 @@ LayerTestResult SimpleConvertFp32ToFp16Test( ret.outputExpected = MakeTensor(outputTensorInfo, { -37.5_h, -15.2_h, -8.76_h, -2.0_h, -1.5_h, -1.3_h, -0.5_h, -0.4_h, 0.0_h, 1.0_h, 0.4_h, 0.5_h, 1.3_h, 1.5_h, 2.0_h, 8.76_h, 15.2_h, 37.5_h }); - 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::ConvertFp32ToFp16QueueDescriptor data; armnn::WorkloadInfo info; AddInputToWorkload(data, info, inputTensorInfo, inputHandle.get()); diff --git a/src/backends/backendsCommon/test/layerTests/ConvertFp32ToFp16TestImpl.hpp b/src/backends/backendsCommon/test/layerTests/ConvertFp32ToFp16TestImpl.hpp index 2637247..39dc8a4 100644 --- a/src/backends/backendsCommon/test/layerTests/ConvertFp32ToFp16TestImpl.hpp +++ b/src/backends/backendsCommon/test/layerTests/ConvertFp32ToFp16TestImpl.hpp @@ -14,4 +14,5 @@ LayerTestResult SimpleConvertFp32ToFp16Test( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager); + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory); diff --git a/src/backends/cl/test/ClLayerTests.cpp b/src/backends/cl/test/ClLayerTests.cpp index 4b1fb69..67ae73e 100644 --- a/src/backends/cl/test/ClLayerTests.cpp +++ b/src/backends/cl/test/ClLayerTests.cpp @@ -108,118 +108,120 @@ ARMNN_AUTO_TEST_CASE_WITH_THF(FullyConnectedLarge, FullyConnectedLargeTest, fals ARMNN_AUTO_TEST_CASE_WITH_THF(FullyConnectedLargeTransposed, FullyConnectedLargeTest, true) // Convolution -ARMNN_AUTO_TEST_CASE(SimpleConvolution1d, Convolution1dTest, true) - -ARMNN_AUTO_TEST_CASE(SimpleConvolution2d, SimpleConvolution2d3x5Test, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2dNhwc, SimpleConvolution2d3x5Test, true, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2d3x3Uint8, SimpleConvolution2d3x3Uint8Test, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2d3x3Uint8Nhwc, SimpleConvolution2d3x3Uint8Test, true, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(UnbiasedConvolution2d, SimpleConvolution2d3x5Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(UnbiasedConvolution2dNhwc, SimpleConvolution2d3x5Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(UnbiasedConvolution2dStride2x2Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution1d, Convolution1dTest, true) + +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2d, SimpleConvolution2d3x5Test, true, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2dNhwc, SimpleConvolution2d3x5Test, true, DataLayout::NHWC) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2d3x3Uint8, SimpleConvolution2d3x3Uint8Test, true, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2d3x3Uint8Nhwc, SimpleConvolution2d3x3Uint8Test, true, DataLayout::NHWC) +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedConvolution2d, SimpleConvolution2d3x5Test, false, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedConvolution2dNhwc, SimpleConvolution2d3x5Test, false, DataLayout::NHWC) +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedConvolution2dStride2x2Nhwc, SimpleConvolution2d3x3Stride2x2Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(UnbiasedConvolution2dSquare, SimpleConvolution2d3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2dAsymmetricPadding, Convolution2dAsymmetricPaddingTest, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedConvolution2dSquare, SimpleConvolution2d3x3Test, false, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2dAsymmetricPadding, + Convolution2dAsymmetricPaddingTest, + DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(UnbiasedConvolution2dSquareNhwc, SimpleConvolution2d3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2dAsymmetricPaddingNhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedConvolution2dSquareNhwc, SimpleConvolution2d3x3Test, false, DataLayout::NHWC) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2dAsymmetricPaddingNhwc, Convolution2dAsymmetricPaddingTest, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2dSquareNhwc, SimpleConvolution2d3x3NhwcTest, false) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2dSquareNhwc, SimpleConvolution2d3x3NhwcTest, false) -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Dilation3x3, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Dilation3x3, Convolution2d3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Dilation3x3Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Dilation3x3Nhwc, Convolution2d3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Dilation3x3Uint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Dilation3x3Uint8, Convolution2d3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Dilation3x3NhwcUint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Dilation3x3NhwcUint8, Convolution2d3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d2x3x3Dilation3x3, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x3x3Dilation3x3, Convolution2d2x3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d2x3x3Dilation3x3Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x3x3Dilation3x3Nhwc, Convolution2d2x3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d2x3x3Dilation3x3Uint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x3x3Dilation3x3Uint8, Convolution2d2x3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d2x3x3Dilation3x3NhwcUint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x3x3Dilation3x3NhwcUint8, Convolution2d2x3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d2x2Dilation2x2Padding2x2Stride3x3, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x2Dilation2x2Padding2x2Stride3x3, Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d2x2Dilation2x2Padding2x2Stride3x3Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x2Dilation2x2Padding2x2Stride3x3Nhwc, Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d2x2Dilation2x2Padding2x2Stride3x3Uint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x2Dilation2x2Padding2x2Stride3x3Uint8, Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d2x2Dilation2x2Padding2x2Stride3x3NhwcUint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x2Dilation2x2Padding2x2Stride3x3NhwcUint8, Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2dPerAxisQuantTestNchw, Convolution2dPerAxisQuantTest, DataLayout::NCHW); -ARMNN_AUTO_TEST_CASE(Convolution2dPerAxisQuantTestNhwc, Convolution2dPerAxisQuantTest, DataLayout::NHWC); +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2dPerAxisQuantTestNchw, Convolution2dPerAxisQuantTest, DataLayout::NCHW); +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2dPerAxisQuantTestNhwc, Convolution2dPerAxisQuantTest, DataLayout::NHWC); // Depthwise Convolution -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dDepthMul1, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dDepthMul1, DepthwiseConvolution2dDepthMul1Test, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2dDepthMul1, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2dDepthMul1, DepthwiseConvolution2dDepthMul1Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dDepthMul1Uint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dDepthMul1Uint8, DepthwiseConvolution2dDepthMul1Uint8Test, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2dDepthMul1Uint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2dDepthMul1Uint8, DepthwiseConvolution2dDepthMul1Uint8Test, false, DataLayout::NCHW) // NHWC Depthwise Convolution -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dDepthMul1Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dDepthMul1Nhwc, DepthwiseConvolution2dDepthMul1Test, true, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2dDepthMul1Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2dDepthMul1Nhwc, DepthwiseConvolution2dDepthMul1Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dDepthMul1Uint8Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dDepthMul1Uint8Nhwc, DepthwiseConvolution2dDepthMul1Uint8Test, true, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2dDepthMul1Uint8Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2dDepthMul1Uint8Nhwc, DepthwiseConvolution2dDepthMul1Uint8Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(SimpleDepthwiseConvolution2d3x3Dilation3x3Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleDepthwiseConvolution2d3x3Dilation3x3Nhwc, SimpleDepthwiseConvolution2d3x3Dilation3x3NhwcTest) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dDepthNhwc, DepthwiseConvolution2dDepthNhwcTest, false) +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dDepthNhwc, DepthwiseConvolution2dDepthNhwcTest, false) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dAsymmetric, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dAsymmetric, DepthwiseConvolution2dAsymmetricTest, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2dAsymmetric, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2dAsymmetric, DepthwiseConvolution2dAsymmetricTest, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dAsymmetricNhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dAsymmetricNhwc, DepthwiseConvolution2dAsymmetricTest, true, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2dAsymmetricNhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2dAsymmetricNhwc, DepthwiseConvolution2dAsymmetricTest, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dDepthMul64, DepthwiseConvolution2dDepthMul64Test); +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dDepthMul64, DepthwiseConvolution2dDepthMul64Test); -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dPerAxisQuantTestNchw, DepthwiseConvolution2dPerAxisQuantTest, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dPerAxisQuantTestNchw, DepthwiseConvolution2dPerAxisQuantTest, DataLayout::NCHW); -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dPerAxisQuantTestNhwc, DepthwiseConvolution2dPerAxisQuantTest, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dPerAxisQuantTestNhwc, DepthwiseConvolution2dPerAxisQuantTest, DataLayout::NHWC); // Splitter @@ -230,9 +232,9 @@ ARMNN_AUTO_TEST_CASE_WITH_THF(CopyViaSplitterFloat32, CopyViaSplitterFloat32Test ARMNN_AUTO_TEST_CASE_WITH_THF(CopyViaSplitterUint8, CopyViaSplitterUint8Test) // Concat -ARMNN_AUTO_TEST_CASE(SimpleConcat, ConcatTest) -ARMNN_AUTO_TEST_CASE(ConcatUint8, ConcatUint8Test) -ARMNN_AUTO_TEST_CASE(ConcatUint8DifferentInputOutputQParam, +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConcat, ConcatTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(ConcatUint8, ConcatUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(ConcatUint8DifferentInputOutputQParam, ConcatDifferentInputOutputQParamTest, false) // Normalization @@ -366,50 +368,50 @@ ARMNN_AUTO_TEST_CASE(L2NormalizationDefaultEpsilon, L2NormalizationDefaultEpsilo ARMNN_AUTO_TEST_CASE(L2NormalizationNonDefaultEpsilon, L2NormalizationNonDefaultEpsilonTest, DataLayout::NCHW) // Constant -ARMNN_AUTO_TEST_CASE(Constant, ConstantTest) -ARMNN_AUTO_TEST_CASE(ConstantUint8, ConstantUint8SimpleQuantizationScaleNoOffsetTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(Constant, ConstantTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(ConstantUint8, ConstantUint8SimpleQuantizationScaleNoOffsetTest) // Concat -ARMNN_AUTO_TEST_CASE(Concat1d, Concat1dTest) -ARMNN_AUTO_TEST_CASE(Concat1dUint8, Concat1dUint8Test) - -ARMNN_AUTO_TEST_CASE(Concat2dDim0, Concat2dDim0Test) -ARMNN_AUTO_TEST_CASE(Concat2dDim0Uint8, Concat2dDim0Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat2dDim1, Concat2dDim1Test) -ARMNN_AUTO_TEST_CASE(Concat2dDim1Uint8, Concat2dDim1Uint8Test) - -ARMNN_AUTO_TEST_CASE(Concat2dDim0DiffInputDims, Concat2dDim0DiffInputDimsTest) -ARMNN_AUTO_TEST_CASE(Concat2dDim0DiffInputDimsUint8, Concat2dDim0DiffInputDimsUint8Test) -ARMNN_AUTO_TEST_CASE(Concat2dDim1DiffInputDims, Concat2dDim1DiffInputDimsTest) -ARMNN_AUTO_TEST_CASE(Concat2dDim1DiffInputDimsUint8, Concat2dDim1DiffInputDimsUint8Test) - -ARMNN_AUTO_TEST_CASE(Concat3dDim0, Concat3dDim0Test) -ARMNN_AUTO_TEST_CASE(Concat3dDim0Uint8, Concat3dDim0Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat3dDim1, Concat3dDim1Test) -ARMNN_AUTO_TEST_CASE(Concat3dDim1Uint8, Concat3dDim1Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat3dDim2, Concat3dDim2Test, false) -ARMNN_AUTO_TEST_CASE(Concat3dDim2Uint8, Concat3dDim2Uint8Test, false) - -ARMNN_AUTO_TEST_CASE(Concat3dDim0DiffInputDims, Concat3dDim0DiffInputDimsTest) -ARMNN_AUTO_TEST_CASE(Concat3dDim0DiffInputDimsUint8, Concat3dDim0DiffInputDimsUint8Test) -ARMNN_AUTO_TEST_CASE(Concat3dDim1DiffInputDims, Concat3dDim1DiffInputDimsTest) -ARMNN_AUTO_TEST_CASE(Concat3dDim1DiffInputDimsUint8, Concat3dDim1DiffInputDimsUint8Test) -ARMNN_AUTO_TEST_CASE(Concat3dDim2DiffInputDims, Concat3dDim2DiffInputDimsTest, false) -ARMNN_AUTO_TEST_CASE(Concat3dDim2DiffInputDimsUint8, Concat3dDim2DiffInputDimsUint8Test, false) - -ARMNN_AUTO_TEST_CASE(Concat4dDim0, Concat4dDim0Test) -ARMNN_AUTO_TEST_CASE(Concat4dDim1, Concat4dDim1Test) -ARMNN_AUTO_TEST_CASE(Concat4dDim3, Concat4dDim3Test, false) -ARMNN_AUTO_TEST_CASE(Concat4dDim0Uint8, Concat4dDim0Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat4dDim1Uint8, Concat4dDim1Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat4dDim3Uint8, Concat4dDim3Uint8Test, false) - -ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim0, Concat4dDiffShapeDim0Test) -ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim1, Concat4dDiffShapeDim1Test) -ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim3, Concat4dDiffShapeDim3Test, false) -ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim0Uint8, Concat4dDiffShapeDim0Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim1Uint8, Concat4dDiffShapeDim1Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim3Uint8, Concat4dDiffShapeDim3Uint8Test, false) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat1d, Concat1dTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat1dUint8, Concat1dUint8Test) + +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim0, Concat2dDim0Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim0Uint8, Concat2dDim0Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim1, Concat2dDim1Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim1Uint8, Concat2dDim1Uint8Test) + +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim0DiffInputDims, Concat2dDim0DiffInputDimsTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim0DiffInputDimsUint8, Concat2dDim0DiffInputDimsUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim1DiffInputDims, Concat2dDim1DiffInputDimsTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim1DiffInputDimsUint8, Concat2dDim1DiffInputDimsUint8Test) + +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim0, Concat3dDim0Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim0Uint8, Concat3dDim0Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim1, Concat3dDim1Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim1Uint8, Concat3dDim1Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim2, Concat3dDim2Test, false) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim2Uint8, Concat3dDim2Uint8Test, false) + +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim0DiffInputDims, Concat3dDim0DiffInputDimsTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim0DiffInputDimsUint8, Concat3dDim0DiffInputDimsUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim1DiffInputDims, Concat3dDim1DiffInputDimsTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim1DiffInputDimsUint8, Concat3dDim1DiffInputDimsUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim2DiffInputDims, Concat3dDim2DiffInputDimsTest, false) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim2DiffInputDimsUint8, Concat3dDim2DiffInputDimsUint8Test, false) + +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDim0, Concat4dDim0Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDim1, Concat4dDim1Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDim3, Concat4dDim3Test, false) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDim0Uint8, Concat4dDim0Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDim1Uint8, Concat4dDim1Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDim3Uint8, Concat4dDim3Uint8Test, false) + +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDiffShapeDim0, Concat4dDiffShapeDim0Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDiffShapeDim1, Concat4dDiffShapeDim1Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDiffShapeDim3, Concat4dDiffShapeDim3Test, false) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDiffShapeDim0Uint8, Concat4dDiffShapeDim0Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDiffShapeDim1Uint8, Concat4dDiffShapeDim1Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDiffShapeDim3Uint8, Concat4dDiffShapeDim3Uint8Test, false) // DepthToSpace ARMNN_AUTO_TEST_CASE(DepthToSpaceNchwFloat32_1, DepthToSpaceTest1, DataLayout::NCHW); @@ -534,9 +536,9 @@ ARMNN_AUTO_TEST_CASE(QLstm, QLstmTest) ARMNN_AUTO_TEST_CASE(QuantizedLstm, QuantizedLstmTest) // Convert from Float16 to Float32 -ARMNN_AUTO_TEST_CASE(SimpleConvertFp16ToFp32, SimpleConvertFp16ToFp32Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvertFp16ToFp32, SimpleConvertFp16ToFp32Test) // Convert from Float32 to Float16 -ARMNN_AUTO_TEST_CASE(SimpleConvertFp32ToFp16, SimpleConvertFp32ToFp16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvertFp32ToFp16, SimpleConvertFp32ToFp16Test) ARMNN_AUTO_TEST_CASE(AdditionAfterMaxPool, AdditionAfterMaxPoolTest) @@ -579,82 +581,82 @@ ARMNN_AUTO_TEST_CASE(MinimumBroadcast1Element2, MinimumBroadcast1ElementTest2) ARMNN_AUTO_TEST_CASE(MinimumBroadcast1DVectorUint8, MinimumBroadcast1DVectorUint8Test) // Equal -ARMNN_AUTO_TEST_CASE(EqualSimple, EqualSimpleTest) -ARMNN_AUTO_TEST_CASE(EqualBroadcast1Element, EqualBroadcast1ElementTest) -ARMNN_AUTO_TEST_CASE(EqualBroadcast1dVector, EqualBroadcast1dVectorTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualSimple, EqualSimpleTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualBroadcast1Element, EqualBroadcast1ElementTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualBroadcast1dVector, EqualBroadcast1dVectorTest) -ARMNN_AUTO_TEST_CASE(EqualSimpleFloat16, EqualSimpleFloat16Test) -ARMNN_AUTO_TEST_CASE(EqualBroadcast1ElementFloat16, EqualBroadcast1ElementFloat16Test) -ARMNN_AUTO_TEST_CASE(EqualBroadcast1dVectorFloat16, EqualBroadcast1dVectorFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualSimpleFloat16, EqualSimpleFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualBroadcast1ElementFloat16, EqualBroadcast1ElementFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualBroadcast1dVectorFloat16, EqualBroadcast1dVectorFloat16Test) -ARMNN_AUTO_TEST_CASE(EqualSimpleUint8, EqualSimpleUint8Test) -ARMNN_AUTO_TEST_CASE(EqualBroadcast1ElementUint8, EqualBroadcast1ElementUint8Test) -ARMNN_AUTO_TEST_CASE(EqualBroadcast1dVectorUint8, EqualBroadcast1dVectorUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualSimpleUint8, EqualSimpleUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualBroadcast1ElementUint8, EqualBroadcast1ElementUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualBroadcast1dVectorUint8, EqualBroadcast1dVectorUint8Test) // Greater -ARMNN_AUTO_TEST_CASE(GreaterSimple, GreaterSimpleTest) -ARMNN_AUTO_TEST_CASE(GreaterBroadcast1Element, GreaterBroadcast1ElementTest) -ARMNN_AUTO_TEST_CASE(GreaterBroadcast1dVector, GreaterBroadcast1dVectorTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterSimple, GreaterSimpleTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterBroadcast1Element, GreaterBroadcast1ElementTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterBroadcast1dVector, GreaterBroadcast1dVectorTest) -ARMNN_AUTO_TEST_CASE(GreaterSimpleFloat16, GreaterSimpleFloat16Test) -ARMNN_AUTO_TEST_CASE(GreaterBroadcast1ElementFloat16, GreaterBroadcast1ElementFloat16Test) -ARMNN_AUTO_TEST_CASE(GreaterBroadcast1dVectorFloat16, GreaterBroadcast1dVectorFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterSimpleFloat16, GreaterSimpleFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterBroadcast1ElementFloat16, GreaterBroadcast1ElementFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterBroadcast1dVectorFloat16, GreaterBroadcast1dVectorFloat16Test) -ARMNN_AUTO_TEST_CASE(GreaterSimpleUint8, GreaterSimpleUint8Test) -ARMNN_AUTO_TEST_CASE(GreaterBroadcast1ElementUint8, GreaterBroadcast1ElementUint8Test) -ARMNN_AUTO_TEST_CASE(GreaterBroadcast1dVectorUint8, GreaterBroadcast1dVectorUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterSimpleUint8, GreaterSimpleUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterBroadcast1ElementUint8, GreaterBroadcast1ElementUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterBroadcast1dVectorUint8, GreaterBroadcast1dVectorUint8Test) // GreaterOrEqual -ARMNN_AUTO_TEST_CASE(GreaterOrEqualSimple, GreaterOrEqualSimpleTest) -ARMNN_AUTO_TEST_CASE(GreaterOrEqualBroadcast1Element, GreaterOrEqualBroadcast1ElementTest) -ARMNN_AUTO_TEST_CASE(GreaterOrEqualBroadcast1dVector, GreaterOrEqualBroadcast1dVectorTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualSimple, GreaterOrEqualSimpleTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualBroadcast1Element, GreaterOrEqualBroadcast1ElementTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualBroadcast1dVector, GreaterOrEqualBroadcast1dVectorTest) -ARMNN_AUTO_TEST_CASE(GreaterOrEqualSimpleFloat16, GreaterOrEqualSimpleFloat16Test) -ARMNN_AUTO_TEST_CASE(GreaterOrEqualBroadcast1ElementFloat16, GreaterOrEqualBroadcast1ElementFloat16Test) -ARMNN_AUTO_TEST_CASE(GreaterOrEqualBroadcast1dVectorFloat16, GreaterOrEqualBroadcast1dVectorFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualSimpleFloat16, GreaterOrEqualSimpleFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualBroadcast1ElementFloat16, GreaterOrEqualBroadcast1ElementFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualBroadcast1dVectorFloat16, GreaterOrEqualBroadcast1dVectorFloat16Test) -ARMNN_AUTO_TEST_CASE(GreaterOrEqualSimpleUint8, GreaterOrEqualSimpleUint8Test) -ARMNN_AUTO_TEST_CASE(GreaterOrEqualBroadcast1ElementUint8, GreaterOrEqualBroadcast1ElementUint8Test) -ARMNN_AUTO_TEST_CASE(GreaterOrEqualBroadcast1dVectorUint8, GreaterOrEqualBroadcast1dVectorUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualSimpleUint8, GreaterOrEqualSimpleUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualBroadcast1ElementUint8, GreaterOrEqualBroadcast1ElementUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualBroadcast1dVectorUint8, GreaterOrEqualBroadcast1dVectorUint8Test) // Less -ARMNN_AUTO_TEST_CASE(LessSimple, LessSimpleTest) -ARMNN_AUTO_TEST_CASE(LessBroadcast1Element, LessBroadcast1ElementTest) -ARMNN_AUTO_TEST_CASE(LessBroadcast1dVector, LessBroadcast1dVectorTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessSimple, LessSimpleTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessBroadcast1Element, LessBroadcast1ElementTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessBroadcast1dVector, LessBroadcast1dVectorTest) -ARMNN_AUTO_TEST_CASE(LessSimpleFloat16, LessSimpleFloat16Test) -ARMNN_AUTO_TEST_CASE(LessBroadcast1ElementFloat16, LessBroadcast1ElementFloat16Test) -ARMNN_AUTO_TEST_CASE(LessBroadcast1dVectorFloat16, LessBroadcast1dVectorFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessSimpleFloat16, LessSimpleFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessBroadcast1ElementFloat16, LessBroadcast1ElementFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessBroadcast1dVectorFloat16, LessBroadcast1dVectorFloat16Test) -ARMNN_AUTO_TEST_CASE(LessSimpleUint8, LessSimpleUint8Test) -ARMNN_AUTO_TEST_CASE(LessBroadcast1ElementUint8, LessBroadcast1ElementUint8Test) -ARMNN_AUTO_TEST_CASE(LessBroadcast1dVectorUint8, LessBroadcast1dVectorUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessSimpleUint8, LessSimpleUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessBroadcast1ElementUint8, LessBroadcast1ElementUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessBroadcast1dVectorUint8, LessBroadcast1dVectorUint8Test) // LessOrEqual -ARMNN_AUTO_TEST_CASE(LessOrEqualSimple, LessOrEqualSimpleTest) -ARMNN_AUTO_TEST_CASE(LessOrEqualBroadcast1Element, LessOrEqualBroadcast1ElementTest) -ARMNN_AUTO_TEST_CASE(LessOrEqualBroadcast1dVector, LessOrEqualBroadcast1dVectorTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualSimple, LessOrEqualSimpleTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualBroadcast1Element, LessOrEqualBroadcast1ElementTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualBroadcast1dVector, LessOrEqualBroadcast1dVectorTest) -ARMNN_AUTO_TEST_CASE(LessOrEqualSimpleFloat16, LessOrEqualSimpleFloat16Test) -ARMNN_AUTO_TEST_CASE(LessOrEqualBroadcast1ElementFloat16, LessOrEqualBroadcast1ElementFloat16Test) -ARMNN_AUTO_TEST_CASE(LessOrEqualBroadcast1dVectorFloat16, LessOrEqualBroadcast1dVectorFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualSimpleFloat16, LessOrEqualSimpleFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualBroadcast1ElementFloat16, LessOrEqualBroadcast1ElementFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualBroadcast1dVectorFloat16, LessOrEqualBroadcast1dVectorFloat16Test) -ARMNN_AUTO_TEST_CASE(LessOrEqualSimpleUint8, LessOrEqualSimpleUint8Test) -ARMNN_AUTO_TEST_CASE(LessOrEqualBroadcast1ElementUint8, LessOrEqualBroadcast1ElementUint8Test) -ARMNN_AUTO_TEST_CASE(LessOrEqualBroadcast1dVectorUint8, LessOrEqualBroadcast1dVectorUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualSimpleUint8, LessOrEqualSimpleUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualBroadcast1ElementUint8, LessOrEqualBroadcast1ElementUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualBroadcast1dVectorUint8, LessOrEqualBroadcast1dVectorUint8Test) // NotEqual -ARMNN_AUTO_TEST_CASE(NotEqualSimple, NotEqualSimpleTest) -ARMNN_AUTO_TEST_CASE(NotEqualBroadcast1Element, NotEqualBroadcast1ElementTest) -ARMNN_AUTO_TEST_CASE(NotEqualBroadcast1dVector, NotEqualBroadcast1dVectorTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualSimple, NotEqualSimpleTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualBroadcast1Element, NotEqualBroadcast1ElementTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualBroadcast1dVector, NotEqualBroadcast1dVectorTest) -ARMNN_AUTO_TEST_CASE(NotEqualSimpleFloat16, NotEqualSimpleFloat16Test) -ARMNN_AUTO_TEST_CASE(NotEqualBroadcast1ElementFloat16, NotEqualBroadcast1ElementFloat16Test) -ARMNN_AUTO_TEST_CASE(NotEqualBroadcast1dVectorFloat16, NotEqualBroadcast1dVectorFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualSimpleFloat16, NotEqualSimpleFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualBroadcast1ElementFloat16, NotEqualBroadcast1ElementFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualBroadcast1dVectorFloat16, NotEqualBroadcast1dVectorFloat16Test) -ARMNN_AUTO_TEST_CASE(NotEqualSimpleUint8, NotEqualSimpleUint8Test) -ARMNN_AUTO_TEST_CASE(NotEqualBroadcast1ElementUint8, NotEqualBroadcast1ElementUint8Test) -ARMNN_AUTO_TEST_CASE(NotEqualBroadcast1dVectorUint8, NotEqualBroadcast1dVectorUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualSimpleUint8, NotEqualSimpleUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualBroadcast1ElementUint8, NotEqualBroadcast1ElementUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualBroadcast1dVectorUint8, NotEqualBroadcast1dVectorUint8Test) // Softmax ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleSoftmaxBeta1, SimpleSoftmaxTest, 1.0f) @@ -1231,19 +1233,19 @@ ARMNN_COMPARE_REF_AUTO_TEST_CASE_WITH_THF(CompareSoftmaxBeta1WithReference, Comp ARMNN_COMPARE_REF_AUTO_TEST_CASE_WITH_THF(CompareSoftmaxBeta2WithReference, CompareSoftmaxTest, 2.0f) ARMNN_COMPARE_REF_AUTO_TEST_CASE_WITH_THF(CompareSoftmaxUint8, CompareSoftmaxUint8Test, 1.0f) -ARMNN_COMPARE_REF_AUTO_TEST_CASE(CompareConv2dWithReference, CompareConvolution2dTest) +ARMNN_COMPARE_REF_AUTO_TEST_CASE_WITH_THF(CompareConv2dWithReference, CompareConvolution2dTest) -ARMNN_COMPARE_REF_AUTO_TEST_CASE(CompareDepthwiseConv2dWithReferenceFloat32, +ARMNN_COMPARE_REF_AUTO_TEST_CASE_WITH_THF(CompareDepthwiseConv2dWithReferenceFloat32, CompareDepthwiseConvolution2dFloatTest, DataLayout::NCHW) -ARMNN_COMPARE_REF_AUTO_TEST_CASE(CompareDepthwiseConv2dWithReferenceUint8, +ARMNN_COMPARE_REF_AUTO_TEST_CASE_WITH_THF(CompareDepthwiseConv2dWithReferenceUint8, CompareDepthwiseConvolution2dUint8Test, DataLayout::NCHW) -ARMNN_COMPARE_REF_AUTO_TEST_CASE(CompareDepthwiseConv2dWithReferenceFloat32Nhwc, +ARMNN_COMPARE_REF_AUTO_TEST_CASE_WITH_THF(CompareDepthwiseConv2dWithReferenceFloat32Nhwc, CompareDepthwiseConvolution2dFloatTest, DataLayout::NHWC) -ARMNN_COMPARE_REF_AUTO_TEST_CASE(CompareDepthwiseConv2dWithReferenceUint8Nhwc, +ARMNN_COMPARE_REF_AUTO_TEST_CASE_WITH_THF(CompareDepthwiseConv2dWithReferenceUint8Nhwc, CompareDepthwiseConvolution2dUint8Test, DataLayout::NHWC) diff --git a/src/backends/neon/test/NeonLayerTests.cpp b/src/backends/neon/test/NeonLayerTests.cpp index 7855a28..4c0d6a6 100644 --- a/src/backends/neon/test/NeonLayerTests.cpp +++ b/src/backends/neon/test/NeonLayerTests.cpp @@ -53,116 +53,118 @@ ARMNN_AUTO_TEST_CASE(BatchToSpaceNdNchwUint2, BatchToSpaceNdNchwTest2) // Convolution -ARMNN_AUTO_TEST_CASE(SimpleConvolution1d, Convolution1dTest, true) - -ARMNN_AUTO_TEST_CASE(SimpleConvolution2d, SimpleConvolution2d3x5Test, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2dNhwc, SimpleConvolution2d3x5Test, true, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2d3x3Uint8, SimpleConvolution2d3x3Uint8Test, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2d3x3Uint8Nhwc, SimpleConvolution2d3x3Uint8Test, true, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(UnbiasedConvolution2d, SimpleConvolution2d3x5Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(UnbiasedConvolution2dNhwc, SimpleConvolution2d3x5Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(UnbiasedConvolution2dStride2x2Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution1d, Convolution1dTest, true) + +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2d, SimpleConvolution2d3x5Test, true, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2dNhwc, SimpleConvolution2d3x5Test, true, DataLayout::NHWC) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2d3x3Uint8, SimpleConvolution2d3x3Uint8Test, true, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2d3x3Uint8Nhwc, SimpleConvolution2d3x3Uint8Test, true, DataLayout::NHWC) +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedConvolution2d, SimpleConvolution2d3x5Test, false, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedConvolution2dNhwc, SimpleConvolution2d3x5Test, false, DataLayout::NHWC) +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedConvolution2dStride2x2Nhwc, SimpleConvolution2d3x3Stride2x2Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(UnbiasedConvolution2dSquare, SimpleConvolution2d3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2dAsymmetricPadding, Convolution2dAsymmetricPaddingTest, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedConvolution2dSquare, SimpleConvolution2d3x3Test, false, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2dAsymmetricPadding, + Convolution2dAsymmetricPaddingTest, + DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(UnbiasedConvolution2dSquareNhwc, SimpleConvolution2d3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2dAsymmetricPaddingNhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedConvolution2dSquareNhwc, SimpleConvolution2d3x3Test, false, DataLayout::NHWC) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2dAsymmetricPaddingNhwc, Convolution2dAsymmetricPaddingTest, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2dSquareNhwc, SimpleConvolution2d3x3NhwcTest, false) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2dSquareNhwc, SimpleConvolution2d3x3NhwcTest, false) -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Dilation3x3, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Dilation3x3, Convolution2d3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Dilation3x3Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Dilation3x3Nhwc, Convolution2d3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Dilation3x3Int8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Dilation3x3Int8, Convolution2d3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Dilation3x3NhwcInt8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Dilation3x3NhwcInt8, Convolution2d3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Dilation3x3Uint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Dilation3x3Uint8, Convolution2d3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Dilation3x3NhwcUint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Dilation3x3NhwcUint8, Convolution2d3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d2x3x3Dilation3x3, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x3x3Dilation3x3, Convolution2d2x3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d2x3x3Dilation3x3Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x3x3Dilation3x3Nhwc, Convolution2d2x3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d2x3x3Dilation3x3Int8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x3x3Dilation3x3Int8, Convolution2d2x3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d2x3x3Dilation3x3NhwcInt8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x3x3Dilation3x3NhwcInt8, Convolution2d2x3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d2x3x3Dilation3x3Uint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x3x3Dilation3x3Uint8, Convolution2d2x3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d2x3x3Dilation3x3NhwcUint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x3x3Dilation3x3NhwcUint8, Convolution2d2x3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d2x2Dilation2x2Padding2x2Stride3x3, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x2Dilation2x2Padding2x2Stride3x3, Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test , false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d2x2Dilation2x2Padding2x2Stride3x3Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x2Dilation2x2Padding2x2Stride3x3Nhwc, Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test , false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d2x2Dilation2x2Padding2x2Stride3x3Int8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x2Dilation2x2Padding2x2Stride3x3Int8, Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test , false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d2x2Dilation2x2Padding2x2Stride3x3NhwcInt8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x2Dilation2x2Padding2x2Stride3x3NhwcInt8, Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test , false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d2x2Dilation2x2Padding2x2Stride3x3Uint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x2Dilation2x2Padding2x2Stride3x3Uint8, Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test , false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d2x2Dilation2x2Padding2x2Stride3x3NhwcUint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x2Dilation2x2Padding2x2Stride3x3NhwcUint8, Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test , false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dMult4, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dMult4, DepthwiseConvolution2dMult4Test, false, armnn::DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dMult2, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dMult2, DepthwiseConvolution2dMult2Test, false, armnn::DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2dPerAxisQuantTestNchw, Convolution2dPerAxisQuantTest, DataLayout::NCHW); -ARMNN_AUTO_TEST_CASE(Convolution2dPerAxisQuantTestNhwc, Convolution2dPerAxisQuantTest, DataLayout::NHWC); +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2dPerAxisQuantTestNchw, Convolution2dPerAxisQuantTest, DataLayout::NCHW); +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2dPerAxisQuantTestNhwc, Convolution2dPerAxisQuantTest, DataLayout::NHWC); // DepthToSpace ARMNN_AUTO_TEST_CASE(DepthToSpaceNchwFloat32_1, DepthToSpaceTest1, DataLayout::NCHW); @@ -216,44 +218,44 @@ ARMNN_AUTO_TEST_CASE(DepthToSpaceNhwcInt16_3, DepthToSpaceTest3, DataLayout::NHWC); // Depthwise Convolution -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dDepthMul1, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dDepthMul1, DepthwiseConvolution2dDepthMul1Test, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2dDepthMul1, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2dDepthMul1, DepthwiseConvolution2dDepthMul1Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dDepthMul1Uint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dDepthMul1Uint8, DepthwiseConvolution2dDepthMul1Uint8Test, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2dDepthMul1Uint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2dDepthMul1Uint8, DepthwiseConvolution2dDepthMul1Uint8Test, false, DataLayout::NCHW) // NHWC Depthwise Convolution -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dDepthMul1NHhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dDepthMul1NHhwc, DepthwiseConvolution2dDepthMul1Test, true, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2dDepthMul1Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2dDepthMul1Nhwc, DepthwiseConvolution2dDepthMul1Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dDepthMul1Uint8Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dDepthMul1Uint8Nhwc, DepthwiseConvolution2dDepthMul1Uint8Test, true, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2dDepthMul1Uint8Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2dDepthMul1Uint8Nhwc, DepthwiseConvolution2dDepthMul1Uint8Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dDepthNhwc, DepthwiseConvolution2dDepthNhwcTest, false) -ARMNN_AUTO_TEST_CASE(SimpleDepthwiseConvolution2d3x3Dilation3x3Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dDepthNhwc, DepthwiseConvolution2dDepthNhwcTest, false) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleDepthwiseConvolution2d3x3Dilation3x3Nhwc, SimpleDepthwiseConvolution2d3x3Dilation3x3NhwcTest) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dAsymmetric, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dAsymmetric, DepthwiseConvolution2dAsymmetricTest, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2dAsymmetric, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2dAsymmetric, DepthwiseConvolution2dAsymmetricTest, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dAsymmetricNhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dAsymmetricNhwc, DepthwiseConvolution2dAsymmetricTest, true, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2dAsymmetricNhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2dAsymmetricNhwc, DepthwiseConvolution2dAsymmetricTest, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dDepthMul64, DepthwiseConvolution2dDepthMul64Test); +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dDepthMul64, DepthwiseConvolution2dDepthMul64Test); -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dPerAxisQuantTestNchw, DepthwiseConvolution2dPerAxisQuantTest, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dPerAxisQuantTestNchw, DepthwiseConvolution2dPerAxisQuantTest, DataLayout::NCHW); -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dPerAxisQuantTestNhwc, DepthwiseConvolution2dPerAxisQuantTest, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dPerAxisQuantTestNhwc, DepthwiseConvolution2dPerAxisQuantTest, DataLayout::NHWC); namespace @@ -545,16 +547,16 @@ ARMNN_AUTO_TEST_CASE_WITH_THF(CopyViaSplitterFloat32, CopyViaSplitterFloat32Test ARMNN_AUTO_TEST_CASE_WITH_THF(CopyViaSplitterUint8, CopyViaSplitterUint8Test) // Concat -ARMNN_AUTO_TEST_CASE(SimpleConcat, ConcatTest) -ARMNN_AUTO_TEST_CASE(ConcatUint8, ConcatUint8Test) -ARMNN_AUTO_TEST_CASE(ConcatUint8DifferentInputOutputQParam, +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConcat, ConcatTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(ConcatUint8, ConcatUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(ConcatUint8DifferentInputOutputQParam, ConcatDifferentInputOutputQParamTest, false) // Convert from BFloat16 to Float32 -ARMNN_AUTO_TEST_CASE(ConvertBf16ToFp32, ConvertBf16ToFp32Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(ConvertBf16ToFp32, ConvertBf16ToFp32Test) // Convert from Float32 to BFloat16 -ARMNN_AUTO_TEST_CASE(ConvertFp32ToBf16, ConvertFp32ToBf16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(ConvertFp32ToBf16, ConvertFp32ToBf16Test) // Fully Connected ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleFullyConnected, FullyConnectedFloat32Test, false, false) @@ -606,50 +608,50 @@ ARMNN_AUTO_TEST_CASE(InstanceNormFloat32Nchw2, InstanceNormFloat32Test2, DataLay ARMNN_AUTO_TEST_CASE(InstanceNormFloat32Nhwc2, InstanceNormFloat32Test2, DataLayout::NHWC); // Constant -ARMNN_AUTO_TEST_CASE(Constant, ConstantTest) -ARMNN_AUTO_TEST_CASE(ConstantUint8, ConstantUint8SimpleQuantizationScaleNoOffsetTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(Constant, ConstantTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(ConstantUint8, ConstantUint8SimpleQuantizationScaleNoOffsetTest) // Concat -ARMNN_AUTO_TEST_CASE(Concat1d, Concat1dTest) -ARMNN_AUTO_TEST_CASE(Concat1dUint8, Concat1dUint8Test) - -ARMNN_AUTO_TEST_CASE(Concat2dDim0, Concat2dDim0Test) -ARMNN_AUTO_TEST_CASE(Concat2dDim0Uint8, Concat2dDim0Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat2dDim1, Concat2dDim1Test) -ARMNN_AUTO_TEST_CASE(Concat2dDim1Uint8, Concat2dDim1Uint8Test) - -ARMNN_AUTO_TEST_CASE(Concat2dDim0DiffInputDims, Concat2dDim0DiffInputDimsTest) -ARMNN_AUTO_TEST_CASE(Concat2dDim0DiffInputDimsUint8, Concat2dDim0DiffInputDimsUint8Test) -ARMNN_AUTO_TEST_CASE(Concat2dDim1DiffInputDims, Concat2dDim1DiffInputDimsTest) -ARMNN_AUTO_TEST_CASE(Concat2dDim1DiffInputDimsUint8, Concat2dDim1DiffInputDimsUint8Test) - -ARMNN_AUTO_TEST_CASE(Concat3dDim0, Concat3dDim0Test) -ARMNN_AUTO_TEST_CASE(Concat3dDim0Uint8, Concat3dDim0Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat3dDim1, Concat3dDim1Test) -ARMNN_AUTO_TEST_CASE(Concat3dDim1Uint8, Concat3dDim1Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat3dDim2, Concat3dDim2Test, false) -ARMNN_AUTO_TEST_CASE(Concat3dDim2Uint8, Concat3dDim2Uint8Test, false) - -ARMNN_AUTO_TEST_CASE(Concat3dDim0DiffInputDims, Concat3dDim0DiffInputDimsTest) -ARMNN_AUTO_TEST_CASE(Concat3dDim0DiffInputDimsUint8, Concat3dDim0DiffInputDimsUint8Test) -ARMNN_AUTO_TEST_CASE(Concat3dDim1DiffInputDims, Concat3dDim1DiffInputDimsTest) -ARMNN_AUTO_TEST_CASE(Concat3dDim1DiffInputDimsUint8, Concat3dDim1DiffInputDimsUint8Test) -ARMNN_AUTO_TEST_CASE(Concat3dDim2DiffInputDims, Concat3dDim2DiffInputDimsTest, false) -ARMNN_AUTO_TEST_CASE(Concat3dDim2DiffInputDimsUint8, Concat3dDim2DiffInputDimsUint8Test, false) - -ARMNN_AUTO_TEST_CASE(Concat4dDim0, Concat4dDim0Test) -ARMNN_AUTO_TEST_CASE(Concat4dDim1, Concat4dDim1Test) -ARMNN_AUTO_TEST_CASE(Concat4dDim3, Concat4dDim3Test, false) -ARMNN_AUTO_TEST_CASE(Concat4dDim0Uint8, Concat4dDim0Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat4dDim1Uint8, Concat4dDim1Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat4dDim3Uint8, Concat4dDim3Uint8Test, false) - -ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim0, Concat4dDiffShapeDim0Test) -ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim1, Concat4dDiffShapeDim1Test) -ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim3, Concat4dDiffShapeDim3Test, false) -ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim0Uint8, Concat4dDiffShapeDim0Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim1Uint8, Concat4dDiffShapeDim1Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim3Uint8, Concat4dDiffShapeDim3Uint8Test, false) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat1d, Concat1dTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat1dUint8, Concat1dUint8Test) + +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim0, Concat2dDim0Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim0Uint8, Concat2dDim0Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim1, Concat2dDim1Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim1Uint8, Concat2dDim1Uint8Test) + +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim0DiffInputDims, Concat2dDim0DiffInputDimsTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim0DiffInputDimsUint8, Concat2dDim0DiffInputDimsUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim1DiffInputDims, Concat2dDim1DiffInputDimsTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim1DiffInputDimsUint8, Concat2dDim1DiffInputDimsUint8Test) + +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim0, Concat3dDim0Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim0Uint8, Concat3dDim0Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim1, Concat3dDim1Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim1Uint8, Concat3dDim1Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim2, Concat3dDim2Test, false) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim2Uint8, Concat3dDim2Uint8Test, false) + +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim0DiffInputDims, Concat3dDim0DiffInputDimsTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim0DiffInputDimsUint8, Concat3dDim0DiffInputDimsUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim1DiffInputDims, Concat3dDim1DiffInputDimsTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim1DiffInputDimsUint8, Concat3dDim1DiffInputDimsUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim2DiffInputDims, Concat3dDim2DiffInputDimsTest, false) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim2DiffInputDimsUint8, Concat3dDim2DiffInputDimsUint8Test, false) + +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDim0, Concat4dDim0Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDim1, Concat4dDim1Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDim3, Concat4dDim3Test, false) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDim0Uint8, Concat4dDim0Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDim1Uint8, Concat4dDim1Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDim3Uint8, Concat4dDim3Uint8Test, false) + +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDiffShapeDim0, Concat4dDiffShapeDim0Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDiffShapeDim1, Concat4dDiffShapeDim1Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDiffShapeDim3, Concat4dDiffShapeDim3Test, false) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDiffShapeDim0Uint8, Concat4dDiffShapeDim0Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDiffShapeDim1Uint8, Concat4dDiffShapeDim1Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDiffShapeDim3Uint8, Concat4dDiffShapeDim3Uint8Test, false) // L2 Normalization ARMNN_AUTO_TEST_CASE(L2Normalization1d, L2Normalization1dTest, DataLayout::NCHW) @@ -677,58 +679,58 @@ ARMNN_AUTO_TEST_CASE(GatherMultiDimParamsFloat32, GatherMultiDimParamsFloat32Tes ARMNN_AUTO_TEST_CASE(GatherMultiDimParamsUint8, GatherMultiDimParamsUint8Test) // Equal -ARMNN_AUTO_TEST_CASE(EqualSimple, EqualSimpleTest) -ARMNN_AUTO_TEST_CASE(EqualBroadcast1Element, EqualBroadcast1ElementTest) -ARMNN_AUTO_TEST_CASE(EqualBroadcast1dVector, EqualBroadcast1dVectorTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualSimple, EqualSimpleTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualBroadcast1Element, EqualBroadcast1ElementTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualBroadcast1dVector, EqualBroadcast1dVectorTest) -ARMNN_AUTO_TEST_CASE(EqualSimpleUint8, EqualSimpleUint8Test) -ARMNN_AUTO_TEST_CASE(EqualBroadcast1ElementUint8, EqualBroadcast1ElementUint8Test) -ARMNN_AUTO_TEST_CASE(EqualBroadcast1dVectorUint8, EqualBroadcast1dVectorUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualSimpleUint8, EqualSimpleUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualBroadcast1ElementUint8, EqualBroadcast1ElementUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualBroadcast1dVectorUint8, EqualBroadcast1dVectorUint8Test) // Greater -ARMNN_AUTO_TEST_CASE(GreaterSimple, GreaterSimpleTest) -ARMNN_AUTO_TEST_CASE(GreaterBroadcast1Element, GreaterBroadcast1ElementTest) -ARMNN_AUTO_TEST_CASE(GreaterBroadcast1dVector, GreaterBroadcast1dVectorTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterSimple, GreaterSimpleTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterBroadcast1Element, GreaterBroadcast1ElementTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterBroadcast1dVector, GreaterBroadcast1dVectorTest) -ARMNN_AUTO_TEST_CASE(GreaterSimpleUint8, GreaterSimpleUint8Test) -ARMNN_AUTO_TEST_CASE(GreaterBroadcast1ElementUint8, GreaterBroadcast1ElementUint8Test) -ARMNN_AUTO_TEST_CASE(GreaterBroadcast1dVectorUint8, GreaterBroadcast1dVectorUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterSimpleUint8, GreaterSimpleUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterBroadcast1ElementUint8, GreaterBroadcast1ElementUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterBroadcast1dVectorUint8, GreaterBroadcast1dVectorUint8Test) // GreaterOrEqual -ARMNN_AUTO_TEST_CASE(GreaterOrEqualSimple, GreaterOrEqualSimpleTest) -ARMNN_AUTO_TEST_CASE(GreaterOrEqualBroadcast1Element, GreaterOrEqualBroadcast1ElementTest) -ARMNN_AUTO_TEST_CASE(GreaterOrEqualBroadcast1dVector, GreaterOrEqualBroadcast1dVectorTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualSimple, GreaterOrEqualSimpleTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualBroadcast1Element, GreaterOrEqualBroadcast1ElementTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualBroadcast1dVector, GreaterOrEqualBroadcast1dVectorTest) -ARMNN_AUTO_TEST_CASE(GreaterOrEqualSimpleUint8, GreaterOrEqualSimpleUint8Test) -ARMNN_AUTO_TEST_CASE(GreaterOrEqualBroadcast1ElementUint8, GreaterOrEqualBroadcast1ElementUint8Test) -ARMNN_AUTO_TEST_CASE(GreaterOrEqualBroadcast1dVectorUint8, GreaterOrEqualBroadcast1dVectorUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualSimpleUint8, GreaterOrEqualSimpleUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualBroadcast1ElementUint8, GreaterOrEqualBroadcast1ElementUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualBroadcast1dVectorUint8, GreaterOrEqualBroadcast1dVectorUint8Test) // Less -ARMNN_AUTO_TEST_CASE(LessSimple, LessSimpleTest) -ARMNN_AUTO_TEST_CASE(LessBroadcast1Element, LessBroadcast1ElementTest) -ARMNN_AUTO_TEST_CASE(LessBroadcast1dVector, LessBroadcast1dVectorTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessSimple, LessSimpleTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessBroadcast1Element, LessBroadcast1ElementTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessBroadcast1dVector, LessBroadcast1dVectorTest) -ARMNN_AUTO_TEST_CASE(LessSimpleUint8, LessSimpleUint8Test) -ARMNN_AUTO_TEST_CASE(LessBroadcast1ElementUint8, LessBroadcast1ElementUint8Test) -ARMNN_AUTO_TEST_CASE(LessBroadcast1dVectorUint8, LessBroadcast1dVectorUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessSimpleUint8, LessSimpleUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessBroadcast1ElementUint8, LessBroadcast1ElementUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessBroadcast1dVectorUint8, LessBroadcast1dVectorUint8Test) // LessOrEqual -ARMNN_AUTO_TEST_CASE(LessOrEqualSimple, LessOrEqualSimpleTest) -ARMNN_AUTO_TEST_CASE(LessOrEqualBroadcast1Element, LessOrEqualBroadcast1ElementTest) -ARMNN_AUTO_TEST_CASE(LessOrEqualBroadcast1dVector, LessOrEqualBroadcast1dVectorTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualSimple, LessOrEqualSimpleTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualBroadcast1Element, LessOrEqualBroadcast1ElementTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualBroadcast1dVector, LessOrEqualBroadcast1dVectorTest) -ARMNN_AUTO_TEST_CASE(LessOrEqualSimpleUint8, LessOrEqualSimpleUint8Test) -ARMNN_AUTO_TEST_CASE(LessOrEqualBroadcast1ElementUint8, LessOrEqualBroadcast1ElementUint8Test) -ARMNN_AUTO_TEST_CASE(LessOrEqualBroadcast1dVectorUint8, LessOrEqualBroadcast1dVectorUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualSimpleUint8, LessOrEqualSimpleUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualBroadcast1ElementUint8, LessOrEqualBroadcast1ElementUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualBroadcast1dVectorUint8, LessOrEqualBroadcast1dVectorUint8Test) // NotEqual -ARMNN_AUTO_TEST_CASE(NotEqualSimple, NotEqualSimpleTest) -ARMNN_AUTO_TEST_CASE(NotEqualBroadcast1Element, NotEqualBroadcast1ElementTest) -ARMNN_AUTO_TEST_CASE(NotEqualBroadcast1dVector, NotEqualBroadcast1dVectorTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualSimple, NotEqualSimpleTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualBroadcast1Element, NotEqualBroadcast1ElementTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualBroadcast1dVector, NotEqualBroadcast1dVectorTest) -ARMNN_AUTO_TEST_CASE(NotEqualSimpleUint8, NotEqualSimpleUint8Test) -ARMNN_AUTO_TEST_CASE(NotEqualBroadcast1ElementUint8, NotEqualBroadcast1ElementUint8Test) -ARMNN_AUTO_TEST_CASE(NotEqualBroadcast1dVectorUint8, NotEqualBroadcast1dVectorUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualSimpleUint8, NotEqualSimpleUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualBroadcast1ElementUint8, NotEqualBroadcast1ElementUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualBroadcast1dVectorUint8, NotEqualBroadcast1dVectorUint8Test) // Reshape ARMNN_AUTO_TEST_CASE(SimpleReshapeFloat32, SimpleReshapeTest) @@ -1317,19 +1319,19 @@ ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleFillS32, SimpleFillTest) // ============================================================================ // COMPARE tests -ARMNN_COMPARE_REF_AUTO_TEST_CASE(CompareConv2dWithReference, CompareConvolution2dTest) +ARMNN_COMPARE_REF_AUTO_TEST_CASE_WITH_THF(CompareConv2dWithReference, CompareConvolution2dTest) -ARMNN_COMPARE_REF_AUTO_TEST_CASE(CompareDepthwiseConv2dWithReferenceFloat32, +ARMNN_COMPARE_REF_AUTO_TEST_CASE_WITH_THF(CompareDepthwiseConv2dWithReferenceFloat32, CompareDepthwiseConvolution2dFloatTest, DataLayout::NCHW) -ARMNN_COMPARE_REF_AUTO_TEST_CASE(CompareDepthwiseConv2dWithReferenceUint8, +ARMNN_COMPARE_REF_AUTO_TEST_CASE_WITH_THF(CompareDepthwiseConv2dWithReferenceUint8, CompareDepthwiseConvolution2dUint8Test, DataLayout::NCHW) -ARMNN_COMPARE_REF_AUTO_TEST_CASE(CompareDepthwiseConv2dWithReferenceFloat32Nhwc, +ARMNN_COMPARE_REF_AUTO_TEST_CASE_WITH_THF(CompareDepthwiseConv2dWithReferenceFloat32Nhwc, CompareDepthwiseConvolution2dFloatTest, DataLayout::NHWC) -ARMNN_COMPARE_REF_AUTO_TEST_CASE(CompareDepthwiseConv2dWithReferenceUint8Nhwc, +ARMNN_COMPARE_REF_AUTO_TEST_CASE_WITH_THF(CompareDepthwiseConv2dWithReferenceUint8Nhwc, CompareDepthwiseConvolution2dUint8Test, DataLayout::NHWC) diff --git a/src/backends/reference/test/RefLayerTests.cpp b/src/backends/reference/test/RefLayerTests.cpp index f03f320..4feba22 100644 --- a/src/backends/reference/test/RefLayerTests.cpp +++ b/src/backends/reference/test/RefLayerTests.cpp @@ -23,341 +23,349 @@ using FactoryType = RefWorkloadFactory; // UNIT tests // Convolution -ARMNN_AUTO_TEST_CASE(SimpleConvolution2d3x5, SimpleConvolution2d3x5Test, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2d3x5Uint8, SimpleConvolution2d3x5Uint8Test, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2d3x5Nhwc, SimpleConvolution2d3x5Test, true, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2d3x5Uint8Nhwc, SimpleConvolution2d3x5Uint8Test, true, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2d3x5QSymm16, SimpleConvolution2d3x5QSymm16Test, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2d3x5QSymm16Nhwc, SimpleConvolution2d3x5QSymm16Test, true, DataLayout::NHWC) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2d3x5, SimpleConvolution2d3x5Test, true, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2d3x5Uint8, SimpleConvolution2d3x5Uint8Test, true, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2d3x5Nhwc, SimpleConvolution2d3x5Test, true, DataLayout::NHWC) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2d3x5Uint8Nhwc, SimpleConvolution2d3x5Uint8Test, true, DataLayout::NHWC) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2d3x5QSymm16, SimpleConvolution2d3x5QSymm16Test, true, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2d3x5QSymm16Nhwc, + SimpleConvolution2d3x5QSymm16Test, + true, + DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(UnbiasedConvolution2d, SimpleConvolution2d3x5Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(UnbiasedConvolutionUint8, SimpleConvolution2d3x5Uint8Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(UnbiasedConvolution2dNhwc, SimpleConvolution2d3x5Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(UnbiasedConvolutionUint8Nhwc, SimpleConvolution2d3x5Uint8Test, false, DataLayout::NHWC) +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedConvolution2d, SimpleConvolution2d3x5Test, false, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedConvolutionUint8, SimpleConvolution2d3x5Uint8Test, false, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedConvolution2dNhwc, SimpleConvolution2d3x5Test, false, DataLayout::NHWC) +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedConvolutionUint8Nhwc, SimpleConvolution2d3x5Uint8Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(SimpleConvolution1d, Convolution1dTest, true) -ARMNN_AUTO_TEST_CASE(SimpleConvolution1dUint8, Convolution1dUint8Test, true) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution1d, Convolution1dTest, true) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution1dUint8, Convolution1dUint8Test, true) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2d3x3, SimpleConvolution2d3x3Test, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2d3x3Uint8, SimpleConvolution2d3x3Uint8Test, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2d3x3QSymm16, SimpleConvolution2d3x3QSymm16Test, true, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2d3x3, SimpleConvolution2d3x3Test, true, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2d3x3Uint8, SimpleConvolution2d3x3Uint8Test, true, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2d3x3QSymm16, SimpleConvolution2d3x3QSymm16Test, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2d3x3Nhwc, SimpleConvolution2d3x3Test, true, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2d3x3Uint8Nhwc, SimpleConvolution2d3x3Uint8Test, true, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2d3x3QSymm16Nhwc, SimpleConvolution2d3x3QSymm16Test, true, +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2d3x3Nhwc, SimpleConvolution2d3x3Test, true, DataLayout::NHWC) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2d3x3Uint8Nhwc, SimpleConvolution2d3x3Uint8Test, true, DataLayout::NHWC) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2d3x3QSymm16Nhwc, SimpleConvolution2d3x3QSymm16Test, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(UnbiasedConvolution2dSquare, SimpleConvolution2d3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(UnbiasedConvolution2dSquareNhwc, SimpleConvolution2d3x3Test, false, DataLayout::NHWC) +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedConvolution2dSquare, SimpleConvolution2d3x3Test, false, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedConvolution2dSquareNhwc, SimpleConvolution2d3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(UnbiasedConvolution2dSquareStride2x2Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedConvolution2dSquareStride2x2Nhwc, SimpleConvolution2d3x3Stride2x2Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2dAsymmetricPaddingLargerThanHalfKernelSize, +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2dAsymmetricPaddingLargerThanHalfKernelSize, Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTest, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2dAsymmetricPadding, Convolution2dAsymmetricPaddingTest, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2dAsymmetricPadding, + Convolution2dAsymmetricPaddingTest, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2dAsymmetricPaddingLargerThanHalfKernelSizeNhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2dAsymmetricPaddingLargerThanHalfKernelSizeNhwc, Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTest, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2dAsymmetricPaddingNhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2dAsymmetricPaddingNhwc, Convolution2dAsymmetricPaddingTest, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(SimpleConvolution2dSquareNhwc, SimpleConvolution2d3x3NhwcTest, false) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvolution2dSquareNhwc, SimpleConvolution2d3x3NhwcTest, false) -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Dilation3x3BFloat16, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Dilation3x3BFloat16, Convolution2d3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Dilation3x3NhwcBFloat16, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Dilation3x3NhwcBFloat16, Convolution2d3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Dilation3x3, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Dilation3x3, Convolution2d3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Dilation3x3Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Dilation3x3Nhwc, Convolution2d3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Dilation3x3Int8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Dilation3x3Int8, Convolution2d3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Dilation3x3NhwcInt8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Dilation3x3NhwcInt8, Convolution2d3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Dilation3x3Uint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Dilation3x3Uint8, Convolution2d3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Dilation3x3NhwcUint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Dilation3x3NhwcUint8, Convolution2d3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Dilation3x3Int16, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Dilation3x3Int16, Convolution2d3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Dilation3x3NhwcInt16, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Dilation3x3NhwcInt16, Convolution2d3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d2x3x3Dilation3x3BFloat16, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x3x3Dilation3x3BFloat16, Convolution2d2x3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d2x3x3Dilation3x3NhwcBFloat16, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x3x3Dilation3x3NhwcBFloat16, Convolution2d2x3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d2x3x3Dilation3x3, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x3x3Dilation3x3, Convolution2d2x3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d2x3x3Dilation3x3Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x3x3Dilation3x3Nhwc, Convolution2d2x3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d2x3x3Dilation3x3Int8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x3x3Dilation3x3Int8, Convolution2d2x3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d2x3x3Dilation3x3NhwcInt8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x3x3Dilation3x3NhwcInt8, Convolution2d2x3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d2x3x3Dilation3x3Uint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x3x3Dilation3x3Uint8, Convolution2d2x3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d2x3x3Dilation3x3NhwcUint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x3x3Dilation3x3NhwcUint8, Convolution2d2x3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d2x3x3Dilation3x3Int16, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x3x3Dilation3x3Int16, Convolution2d2x3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d2x3x3Dilation3x3NhwcInt16, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x3x3Dilation3x3NhwcInt16, Convolution2d2x3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d2x2Dilation2x2Padding2x2Stride3x3BFloat16, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x2Dilation2x2Padding2x2Stride3x3BFloat16, Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d2x2Dilation2x2Padding2x2Stride3x3NhwcBFloat16, + +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x2Dilation2x2Padding2x2Stride3x3NhwcBFloat16, Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d2x2Dilation2x2Padding2x2Stride3x3, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x2Dilation2x2Padding2x2Stride3x3, Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d2x2Dilation2x2Padding2x2Stride3x3Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x2Dilation2x2Padding2x2Stride3x3Nhwc, Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d2x2Dilation2x2Padding2x2Stride3x3Int8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x2Dilation2x2Padding2x2Stride3x3Int8, Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d2x2Dilation2x2Padding2x2Stride3x3NhwcInt8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x2Dilation2x2Padding2x2Stride3x3NhwcInt8, Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d2x2Dilation2x2Padding2x2Stride3x3Uint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x2Dilation2x2Padding2x2Stride3x3Uint8, Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d2x2Dilation2x2Padding2x2Stride3x3NhwcUint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x2Dilation2x2Padding2x2Stride3x3NhwcUint8, Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2d2x2Dilation2x2Padding2x2Stride3x3Int16, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x2Dilation2x2Padding2x2Stride3x3Int16, Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(Convolution2d2x2Dilation2x2Padding2x2Stride3x3NhwcInt16, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d2x2Dilation2x2Padding2x2Stride3x3NhwcInt16, Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(Convolution2dPerAxisQuantTestNchw, Convolution2dPerAxisQuantTest, DataLayout::NCHW); -ARMNN_AUTO_TEST_CASE(Convolution2dPerAxisQuantTestNhwc, Convolution2dPerAxisQuantTest, DataLayout::NHWC); +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2dPerAxisQuantTestNchw, Convolution2dPerAxisQuantTest, DataLayout::NCHW); +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2dPerAxisQuantTestNhwc, Convolution2dPerAxisQuantTest, DataLayout::NHWC); -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Stride2x2Bf16, Convolution2d3x3Stride2x2BFloat16Test, false, DataLayout::NHWC); -ARMNN_AUTO_TEST_CASE(Convolution2d3x3Stride2x2BFloat16SmallValue, +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Stride2x2Bf16, + Convolution2d3x3Stride2x2BFloat16Test, + false, + DataLayout::NHWC); +ARMNN_AUTO_TEST_CASE_WITH_THF(Convolution2d3x3Stride2x2BFloat16SmallValue, Convolution2d3x3Stride2x2BFloat16SmallValueTest, false, DataLayout::NHWC); // Depthwise Convolution -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2d, DepthwiseConvolution2dTest, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dUint8, DepthwiseConvolution2dUint8Test, true, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2d, DepthwiseConvolution2dTest, true, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dUint8, DepthwiseConvolution2dUint8Test, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2d, DepthwiseConvolution2dTest, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2dUint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2d, DepthwiseConvolution2dTest, false, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2dUint8, DepthwiseConvolution2dUint8Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dQSymm16, DepthwiseConvolution2dInt16Test, true, DataLayout::NCHW) +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dQSymm16, DepthwiseConvolution2dInt16Test, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dNhwc, DepthwiseConvolution2dTest, true, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dUint8Nhwc, DepthwiseConvolution2dUint8Test, true, DataLayout::NHWC) +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dNhwc, DepthwiseConvolution2dTest, true, DataLayout::NHWC) +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dUint8Nhwc, DepthwiseConvolution2dUint8Test, true, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2dNhwc, DepthwiseConvolution2dTest, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2dUint8Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2dNhwc, DepthwiseConvolution2dTest, false, DataLayout::NHWC) +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2dUint8Nhwc, DepthwiseConvolution2dUint8Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dDepthNhwc, DepthwiseConvolution2dDepthNhwcTest, false) -ARMNN_AUTO_TEST_CASE(SimpleDepthwiseConvolution2d3x3Dilation3x3Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dDepthNhwc, DepthwiseConvolution2dDepthNhwcTest, false) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleDepthwiseConvolution2d3x3Dilation3x3Nhwc, SimpleDepthwiseConvolution2d3x3Dilation3x3NhwcTest) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2d3x3Dilation3x3, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2d3x3Dilation3x3, DepthwiseConvolution2d3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2d3x3Dilation3x3Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2d3x3Dilation3x3Nhwc, DepthwiseConvolution2d3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2d3x3Dilation3x3BFloat16, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2d3x3Dilation3x3BFloat16, DepthwiseConvolution2d3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2d3x3Dilation3x3NhwcBFloat16, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2d3x3Dilation3x3NhwcBFloat16, DepthwiseConvolution2d3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2d3x3Dilation3x3Int8, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2d3x3Dilation3x3Int8, DepthwiseConvolution2d3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2d3x3Dilation3x3NhwcInt8, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2d3x3Dilation3x3NhwcInt8, DepthwiseConvolution2d3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2d3x3Dilation3x3Uint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2d3x3Dilation3x3Uint8, DepthwiseConvolution2d3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2d3x3Dilation3x3NhwcUint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2d3x3Dilation3x3NhwcUint8, DepthwiseConvolution2d3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2d3x3Dilation3x3Int16, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2d3x3Dilation3x3Int16, DepthwiseConvolution2d3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2d3x3Dilation3x3NhwcInt16, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2d3x3Dilation3x3NhwcInt16, DepthwiseConvolution2d3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2d2x3x3Dilation3x3, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2d2x3x3Dilation3x3, DepthwiseConvolution2d2x3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2d2x3x3Dilation3x3Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2d2x3x3Dilation3x3Nhwc, DepthwiseConvolution2d2x3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2d2x3x3Dilation3x3BFloat16, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2d2x3x3Dilation3x3BFloat16, DepthwiseConvolution2d2x3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2d2x3x3Dilation3x3NhwcBFloat16, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2d2x3x3Dilation3x3NhwcBFloat16, DepthwiseConvolution2d2x3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2d2x3x3Dilation3x3Int8, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2d2x3x3Dilation3x3Int8, DepthwiseConvolution2d2x3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2d2x3x3Dilation3x3NhwcInt8, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2d2x3x3Dilation3x3NhwcInt8, DepthwiseConvolution2d2x3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2d2x3x3Dilation3x3Uint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2d2x3x3Dilation3x3Uint8, DepthwiseConvolution2d2x3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2d2x3x3Dilation3x3NhwcUint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2d2x3x3Dilation3x3NhwcUint8, DepthwiseConvolution2d2x3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2d2x3x3Dilation3x3Int16, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2d2x3x3Dilation3x3Int16, DepthwiseConvolution2d2x3x3Dilation3x3Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2d2x3x3Dilation3x3NhwcInt16, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2d2x3x3Dilation3x3NhwcInt16, DepthwiseConvolution2d2x3x3Dilation3x3Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dMult4, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dMult4, DepthwiseConvolution2dMult4Test, false, armnn::DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dMult2, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dMult2, DepthwiseConvolution2dMult2Test, false, armnn::DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dMult4BFloat16, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dMult4BFloat16, DepthwiseConvolution2dMult4Test, false, armnn::DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dMult2BFloat16, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dMult2BFloat16, DepthwiseConvolution2dMult2Test, false, armnn::DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dDepthMul1, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dDepthMul1, DepthwiseConvolution2dDepthMul1Test, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dDepthMul1Uint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dDepthMul1Uint8, DepthwiseConvolution2dDepthMul1Uint8Test, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dDepthMul1Int16, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dDepthMul1Int16, DepthwiseConvolution2dDepthMul1Int16Test, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2dDepthMul1, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2dDepthMul1, DepthwiseConvolution2dDepthMul1Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2dDepthMul1Uint8, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2dDepthMul1Uint8, DepthwiseConvolution2dDepthMul1Uint8Test, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dDepthMul1Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dDepthMul1Nhwc, DepthwiseConvolution2dDepthMul1Test, true, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dDepthMul1Uint8Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dDepthMul1Uint8Nhwc, DepthwiseConvolution2dDepthMul1Uint8Test, true, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2dDepthMul1Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2dDepthMul1Nhwc, DepthwiseConvolution2dDepthMul1Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2dDepthMul1Uint8Nhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2dDepthMul1Uint8Nhwc, DepthwiseConvolution2dDepthMul1Uint8Test, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dAsymmetric, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dAsymmetric, DepthwiseConvolution2dAsymmetricTest, true, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2dAsymmetric, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2dAsymmetric, DepthwiseConvolution2dAsymmetricTest, false, DataLayout::NCHW) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dAsymmetricNhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dAsymmetricNhwc, DepthwiseConvolution2dAsymmetricTest, true, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(UnbiasedDepthwiseConvolution2dAsymmetricNhwc, +ARMNN_AUTO_TEST_CASE_WITH_THF(UnbiasedDepthwiseConvolution2dAsymmetricNhwc, DepthwiseConvolution2dAsymmetricTest, false, DataLayout::NHWC) -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dDepthMul64, DepthwiseConvolution2dDepthMul64Test); +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dDepthMul64, DepthwiseConvolution2dDepthMul64Test); -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dPerAxisQuantTestNchw, DepthwiseConvolution2dPerAxisQuantTest, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dPerAxisQuantTestNchw, DepthwiseConvolution2dPerAxisQuantTest, DataLayout::NCHW); -ARMNN_AUTO_TEST_CASE(DepthwiseConvolution2dPerAxisQuantTestNhwc, DepthwiseConvolution2dPerAxisQuantTest, +ARMNN_AUTO_TEST_CASE_WITH_THF(DepthwiseConvolution2dPerAxisQuantTestNhwc, DepthwiseConvolution2dPerAxisQuantTest, DataLayout::NHWC); // Pooling @@ -588,15 +596,15 @@ ARMNN_AUTO_TEST_CASE_WITH_THF(CopyViaSplitterUint8, CopyViaSplitterUint8Test) ARMNN_AUTO_TEST_CASE_WITH_THF(CopyViaSplitterInt16, CopyViaSplitterInt16Test) // Concat -ARMNN_AUTO_TEST_CASE(SimpleConcat, ConcatTest) -ARMNN_AUTO_TEST_CASE(ConcatBFloat16, ConcatBFloat16Test) -ARMNN_AUTO_TEST_CASE(ConcatFloat16, ConcatFloat16Test) -ARMNN_AUTO_TEST_CASE(ConcatUint8, ConcatUint8Test) -ARMNN_AUTO_TEST_CASE(ConcatUint8DifferentQParams, ConcatUint8DifferentQParamsTest) -ARMNN_AUTO_TEST_CASE(ConcatUint16, ConcatUint16Test) -ARMNN_AUTO_TEST_CASE(ConcatUint8DifferentInputOutputQParam, +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConcat, ConcatTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(ConcatBFloat16, ConcatBFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(ConcatFloat16, ConcatFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(ConcatUint8, ConcatUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(ConcatUint8DifferentQParams, ConcatUint8DifferentQParamsTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(ConcatUint16, ConcatUint16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(ConcatUint8DifferentInputOutputQParam, ConcatDifferentInputOutputQParamTest, true) -ARMNN_AUTO_TEST_CASE(ConcatInt16DifferentInputOutputQParam, +ARMNN_AUTO_TEST_CASE_WITH_THF(ConcatInt16DifferentInputOutputQParam, ConcatDifferentInputOutputQParamTest, true) // Add @@ -663,82 +671,82 @@ ARMNN_AUTO_TEST_CASE(DivisionInt32Broadcast1Element, DivisionBroadcast1ElementIn ARMNN_AUTO_TEST_CASE(DivisionInt32Broadcast1DVector, DivisionBroadcast1DVectorInt32Test) // Equal -ARMNN_AUTO_TEST_CASE(EqualSimple, EqualSimpleTest) -ARMNN_AUTO_TEST_CASE(EqualBroadcast1Element, EqualBroadcast1ElementTest) -ARMNN_AUTO_TEST_CASE(EqualBroadcast1dVector, EqualBroadcast1dVectorTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualSimple, EqualSimpleTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualBroadcast1Element, EqualBroadcast1ElementTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualBroadcast1dVector, EqualBroadcast1dVectorTest) -ARMNN_AUTO_TEST_CASE(EqualSimpleFloat16, EqualSimpleFloat16Test) -ARMNN_AUTO_TEST_CASE(EqualBroadcast1ElementFloat16, EqualBroadcast1ElementFloat16Test) -ARMNN_AUTO_TEST_CASE(EqualBroadcast1dVectorFloat16, EqualBroadcast1dVectorFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualSimpleFloat16, EqualSimpleFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualBroadcast1ElementFloat16, EqualBroadcast1ElementFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualBroadcast1dVectorFloat16, EqualBroadcast1dVectorFloat16Test) -ARMNN_AUTO_TEST_CASE(EqualSimpleUint8, EqualSimpleUint8Test) -ARMNN_AUTO_TEST_CASE(EqualBroadcast1ElementUint8, EqualBroadcast1ElementUint8Test) -ARMNN_AUTO_TEST_CASE(EqualBroadcast1dVectorUint8, EqualBroadcast1dVectorUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualSimpleUint8, EqualSimpleUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualBroadcast1ElementUint8, EqualBroadcast1ElementUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(EqualBroadcast1dVectorUint8, EqualBroadcast1dVectorUint8Test) // Greater -ARMNN_AUTO_TEST_CASE(GreaterSimple, GreaterSimpleTest) -ARMNN_AUTO_TEST_CASE(GreaterBroadcast1Element, GreaterBroadcast1ElementTest) -ARMNN_AUTO_TEST_CASE(GreaterBroadcast1dVector, GreaterBroadcast1dVectorTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterSimple, GreaterSimpleTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterBroadcast1Element, GreaterBroadcast1ElementTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterBroadcast1dVector, GreaterBroadcast1dVectorTest) -ARMNN_AUTO_TEST_CASE(GreaterSimpleFloat16, GreaterSimpleFloat16Test) -ARMNN_AUTO_TEST_CASE(GreaterBroadcast1ElementFloat16, GreaterBroadcast1ElementFloat16Test) -ARMNN_AUTO_TEST_CASE(GreaterBroadcast1dVectorFloat16, GreaterBroadcast1dVectorFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterSimpleFloat16, GreaterSimpleFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterBroadcast1ElementFloat16, GreaterBroadcast1ElementFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterBroadcast1dVectorFloat16, GreaterBroadcast1dVectorFloat16Test) -ARMNN_AUTO_TEST_CASE(GreaterSimpleUint8, GreaterSimpleUint8Test) -ARMNN_AUTO_TEST_CASE(GreaterBroadcast1ElementUint8, GreaterBroadcast1ElementUint8Test) -ARMNN_AUTO_TEST_CASE(GreaterBroadcast1dVectorUint8, GreaterBroadcast1dVectorUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterSimpleUint8, GreaterSimpleUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterBroadcast1ElementUint8, GreaterBroadcast1ElementUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterBroadcast1dVectorUint8, GreaterBroadcast1dVectorUint8Test) // GreaterOrEqual -ARMNN_AUTO_TEST_CASE(GreaterOrEqualSimple, GreaterOrEqualSimpleTest) -ARMNN_AUTO_TEST_CASE(GreaterOrEqualBroadcast1Element, GreaterOrEqualBroadcast1ElementTest) -ARMNN_AUTO_TEST_CASE(GreaterOrEqualBroadcast1dVector, GreaterOrEqualBroadcast1dVectorTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualSimple, GreaterOrEqualSimpleTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualBroadcast1Element, GreaterOrEqualBroadcast1ElementTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualBroadcast1dVector, GreaterOrEqualBroadcast1dVectorTest) -ARMNN_AUTO_TEST_CASE(GreaterOrEqualSimpleFloat16, GreaterOrEqualSimpleFloat16Test) -ARMNN_AUTO_TEST_CASE(GreaterOrEqualBroadcast1ElementFloat16, GreaterOrEqualBroadcast1ElementFloat16Test) -ARMNN_AUTO_TEST_CASE(GreaterOrEqualBroadcast1dVectorFloat16, GreaterOrEqualBroadcast1dVectorFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualSimpleFloat16, GreaterOrEqualSimpleFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualBroadcast1ElementFloat16, GreaterOrEqualBroadcast1ElementFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualBroadcast1dVectorFloat16, GreaterOrEqualBroadcast1dVectorFloat16Test) -ARMNN_AUTO_TEST_CASE(GreaterOrEqualSimpleUint8, GreaterOrEqualSimpleUint8Test) -ARMNN_AUTO_TEST_CASE(GreaterOrEqualBroadcast1ElementUint8, GreaterOrEqualBroadcast1ElementUint8Test) -ARMNN_AUTO_TEST_CASE(GreaterOrEqualBroadcast1dVectorUint8, GreaterOrEqualBroadcast1dVectorUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualSimpleUint8, GreaterOrEqualSimpleUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualBroadcast1ElementUint8, GreaterOrEqualBroadcast1ElementUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(GreaterOrEqualBroadcast1dVectorUint8, GreaterOrEqualBroadcast1dVectorUint8Test) // Less -ARMNN_AUTO_TEST_CASE(LessSimple, LessSimpleTest) -ARMNN_AUTO_TEST_CASE(LessBroadcast1Element, LessBroadcast1ElementTest) -ARMNN_AUTO_TEST_CASE(LessBroadcast1dVector, LessBroadcast1dVectorTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessSimple, LessSimpleTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessBroadcast1Element, LessBroadcast1ElementTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessBroadcast1dVector, LessBroadcast1dVectorTest) -ARMNN_AUTO_TEST_CASE(LessSimpleFloat16, LessSimpleFloat16Test) -ARMNN_AUTO_TEST_CASE(LessBroadcast1ElementFloat16, LessBroadcast1ElementFloat16Test) -ARMNN_AUTO_TEST_CASE(LessBroadcast1dVectorFloat16, LessBroadcast1dVectorFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessSimpleFloat16, LessSimpleFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessBroadcast1ElementFloat16, LessBroadcast1ElementFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessBroadcast1dVectorFloat16, LessBroadcast1dVectorFloat16Test) -ARMNN_AUTO_TEST_CASE(LessSimpleUint8, LessSimpleUint8Test) -ARMNN_AUTO_TEST_CASE(LessBroadcast1ElementUint8, LessBroadcast1ElementUint8Test) -ARMNN_AUTO_TEST_CASE(LessBroadcast1dVectorUint8, LessBroadcast1dVectorUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessSimpleUint8, LessSimpleUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessBroadcast1ElementUint8, LessBroadcast1ElementUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessBroadcast1dVectorUint8, LessBroadcast1dVectorUint8Test) // LessOrEqual -ARMNN_AUTO_TEST_CASE(LessOrEqualSimple, LessOrEqualSimpleTest) -ARMNN_AUTO_TEST_CASE(LessOrEqualBroadcast1Element, LessOrEqualBroadcast1ElementTest) -ARMNN_AUTO_TEST_CASE(LessOrEqualBroadcast1dVector, LessOrEqualBroadcast1dVectorTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualSimple, LessOrEqualSimpleTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualBroadcast1Element, LessOrEqualBroadcast1ElementTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualBroadcast1dVector, LessOrEqualBroadcast1dVectorTest) -ARMNN_AUTO_TEST_CASE(LessOrEqualSimpleFloat16, LessOrEqualSimpleFloat16Test) -ARMNN_AUTO_TEST_CASE(LessOrEqualBroadcast1ElementFloat16, LessOrEqualBroadcast1ElementFloat16Test) -ARMNN_AUTO_TEST_CASE(LessOrEqualBroadcast1dVectorFloat16, LessOrEqualBroadcast1dVectorFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualSimpleFloat16, LessOrEqualSimpleFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualBroadcast1ElementFloat16, LessOrEqualBroadcast1ElementFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualBroadcast1dVectorFloat16, LessOrEqualBroadcast1dVectorFloat16Test) -ARMNN_AUTO_TEST_CASE(LessOrEqualSimpleUint8, LessOrEqualSimpleUint8Test) -ARMNN_AUTO_TEST_CASE(LessOrEqualBroadcast1ElementUint8, LessOrEqualBroadcast1ElementUint8Test) -ARMNN_AUTO_TEST_CASE(LessOrEqualBroadcast1dVectorUint8, LessOrEqualBroadcast1dVectorUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualSimpleUint8, LessOrEqualSimpleUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualBroadcast1ElementUint8, LessOrEqualBroadcast1ElementUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(LessOrEqualBroadcast1dVectorUint8, LessOrEqualBroadcast1dVectorUint8Test) // NotEqual -ARMNN_AUTO_TEST_CASE(NotEqualSimple, NotEqualSimpleTest) -ARMNN_AUTO_TEST_CASE(NotEqualBroadcast1Element, NotEqualBroadcast1ElementTest) -ARMNN_AUTO_TEST_CASE(NotEqualBroadcast1dVector, NotEqualBroadcast1dVectorTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualSimple, NotEqualSimpleTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualBroadcast1Element, NotEqualBroadcast1ElementTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualBroadcast1dVector, NotEqualBroadcast1dVectorTest) -ARMNN_AUTO_TEST_CASE(NotEqualSimpleFloat16, NotEqualSimpleFloat16Test) -ARMNN_AUTO_TEST_CASE(NotEqualBroadcast1ElementFloat16, NotEqualBroadcast1ElementFloat16Test) -ARMNN_AUTO_TEST_CASE(NotEqualBroadcast1dVectorFloat16, NotEqualBroadcast1dVectorFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualSimpleFloat16, NotEqualSimpleFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualBroadcast1ElementFloat16, NotEqualBroadcast1ElementFloat16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualBroadcast1dVectorFloat16, NotEqualBroadcast1dVectorFloat16Test) -ARMNN_AUTO_TEST_CASE(NotEqualSimpleUint8, NotEqualSimpleUint8Test) -ARMNN_AUTO_TEST_CASE(NotEqualBroadcast1ElementUint8, NotEqualBroadcast1ElementUint8Test) -ARMNN_AUTO_TEST_CASE(NotEqualBroadcast1dVectorUint8, NotEqualBroadcast1dVectorUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualSimpleUint8, NotEqualSimpleUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualBroadcast1ElementUint8, NotEqualBroadcast1ElementUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(NotEqualBroadcast1dVectorUint8, NotEqualBroadcast1dVectorUint8Test) // Max ARMNN_AUTO_TEST_CASE(SimpleMaximum, MaximumSimpleTest) @@ -1308,55 +1316,55 @@ ARMNN_AUTO_TEST_CASE(PadInt83d, PadInt83dTest) ARMNN_AUTO_TEST_CASE(PadInt84d, PadInt84dTest) // Constant -ARMNN_AUTO_TEST_CASE(Constant, ConstantTest) -ARMNN_AUTO_TEST_CASE(ConstantUint8, ConstantUint8CustomQuantizationScaleAndOffsetTest) -ARMNN_AUTO_TEST_CASE(ConstantInt16, ConstantInt16CustomQuantizationScaleAndOffsetTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(Constant, ConstantTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(ConstantUint8, ConstantUint8CustomQuantizationScaleAndOffsetTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(ConstantInt16, ConstantInt16CustomQuantizationScaleAndOffsetTest) // Concat -ARMNN_AUTO_TEST_CASE(Concat1d, Concat1dTest) -ARMNN_AUTO_TEST_CASE(Concat1dUint8, Concat1dUint8Test) - -ARMNN_AUTO_TEST_CASE(Concat2dDim0, Concat2dDim0Test) -ARMNN_AUTO_TEST_CASE(Concat2dDim0Uint8, Concat2dDim0Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat2dDim1, Concat2dDim1Test) -ARMNN_AUTO_TEST_CASE(Concat2dDim1Uint8, Concat2dDim1Uint8Test) - -ARMNN_AUTO_TEST_CASE(Concat2dDim0DiffInputDims, Concat2dDim0DiffInputDimsTest) -ARMNN_AUTO_TEST_CASE(Concat2dDim0DiffInputDimsUint8, Concat2dDim0DiffInputDimsUint8Test) -ARMNN_AUTO_TEST_CASE(Concat2dDim1DiffInputDims, Concat2dDim1DiffInputDimsTest) -ARMNN_AUTO_TEST_CASE(Concat2dDim1DiffInputDimsUint8, Concat2dDim1DiffInputDimsUint8Test) - -ARMNN_AUTO_TEST_CASE(Concat3dDim0, Concat3dDim0Test) -ARMNN_AUTO_TEST_CASE(Concat3dDim0Uint8, Concat3dDim0Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat3dDim1, Concat3dDim1Test) -ARMNN_AUTO_TEST_CASE(Concat3dDim1Uint8, Concat3dDim1Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat3dDim2, Concat3dDim2Test, true) -ARMNN_AUTO_TEST_CASE(Concat3dDim2Uint8, Concat3dDim2Uint8Test, true) - -ARMNN_AUTO_TEST_CASE(Concat3dDim0DiffInputDims, Concat3dDim0DiffInputDimsTest) -ARMNN_AUTO_TEST_CASE(Concat3dDim0DiffInputDimsUint8, Concat3dDim0DiffInputDimsUint8Test) -ARMNN_AUTO_TEST_CASE(Concat3dDim1DiffInputDims, Concat3dDim1DiffInputDimsTest) -ARMNN_AUTO_TEST_CASE(Concat3dDim1DiffInputDimsUint8, Concat3dDim1DiffInputDimsUint8Test) -ARMNN_AUTO_TEST_CASE(Concat3dDim2DiffInputDims, Concat3dDim2DiffInputDimsTest, true) -ARMNN_AUTO_TEST_CASE(Concat3dDim2DiffInputDimsUint8, Concat3dDim2DiffInputDimsUint8Test, true) - -ARMNN_AUTO_TEST_CASE(Concat4dDim0, Concat4dDim0Test) -ARMNN_AUTO_TEST_CASE(Concat4dDim1, Concat4dDim1Test) -ARMNN_AUTO_TEST_CASE(Concat4dDim2, Concat4dDim2Test) -ARMNN_AUTO_TEST_CASE(Concat4dDim3, Concat4dDim3Test, true) -ARMNN_AUTO_TEST_CASE(Concat4dDim0Uint8, Concat4dDim0Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat4dDim1Uint8, Concat4dDim1Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat4dDim2Uint8, Concat4dDim2Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat4dDim3Uint8, Concat4dDim3Uint8Test, true) - -ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim0, Concat4dDiffShapeDim0Test) -ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim1, Concat4dDiffShapeDim1Test) -ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim2, Concat4dDiffShapeDim2Test) -ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim3, Concat4dDiffShapeDim3Test, true) -ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim0Uint8, Concat4dDiffShapeDim0Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim1Uint8, Concat4dDiffShapeDim1Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim2Uint8, Concat4dDiffShapeDim2Uint8Test) -ARMNN_AUTO_TEST_CASE(Concat4dDiffShapeDim3Uint8, Concat4dDiffShapeDim3Uint8Test, true) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat1d, Concat1dTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat1dUint8, Concat1dUint8Test) + +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim0, Concat2dDim0Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim0Uint8, Concat2dDim0Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim1, Concat2dDim1Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim1Uint8, Concat2dDim1Uint8Test) + +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim0DiffInputDims, Concat2dDim0DiffInputDimsTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim0DiffInputDimsUint8, Concat2dDim0DiffInputDimsUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim1DiffInputDims, Concat2dDim1DiffInputDimsTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat2dDim1DiffInputDimsUint8, Concat2dDim1DiffInputDimsUint8Test) + +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim0, Concat3dDim0Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim0Uint8, Concat3dDim0Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim1, Concat3dDim1Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim1Uint8, Concat3dDim1Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim2, Concat3dDim2Test, true) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim2Uint8, Concat3dDim2Uint8Test, true) + +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim0DiffInputDims, Concat3dDim0DiffInputDimsTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim0DiffInputDimsUint8, Concat3dDim0DiffInputDimsUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim1DiffInputDims, Concat3dDim1DiffInputDimsTest) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim1DiffInputDimsUint8, Concat3dDim1DiffInputDimsUint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim2DiffInputDims, Concat3dDim2DiffInputDimsTest, true) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat3dDim2DiffInputDimsUint8, Concat3dDim2DiffInputDimsUint8Test, true) + +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDim0, Concat4dDim0Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDim1, Concat4dDim1Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDim2, Concat4dDim2Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDim3, Concat4dDim3Test, true) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDim0Uint8, Concat4dDim0Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDim1Uint8, Concat4dDim1Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDim2Uint8, Concat4dDim2Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDim3Uint8, Concat4dDim3Uint8Test, true) + +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDiffShapeDim0, Concat4dDiffShapeDim0Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDiffShapeDim1, Concat4dDiffShapeDim1Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDiffShapeDim2, Concat4dDiffShapeDim2Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDiffShapeDim3, Concat4dDiffShapeDim3Test, true) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDiffShapeDim0Uint8, Concat4dDiffShapeDim0Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDiffShapeDim1Uint8, Concat4dDiffShapeDim1Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDiffShapeDim2Uint8, Concat4dDiffShapeDim2Uint8Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(Concat4dDiffShapeDim3Uint8, Concat4dDiffShapeDim3Uint8Test, true) // Fill ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleFill, SimpleFillTest) @@ -1447,15 +1455,15 @@ ARMNN_AUTO_TEST_CASE(QLstm1, QLstmTest1) ARMNN_AUTO_TEST_CASE(QLstm2, QLstmTest2) // Convert from BFloat16 to Float32 -ARMNN_AUTO_TEST_CASE(ConvertBf16ToFp32, ConvertBf16ToFp32Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(ConvertBf16ToFp32, ConvertBf16ToFp32Test) // Convert from Float32 to BFloat16 -ARMNN_AUTO_TEST_CASE(ConvertFp32ToBf16, ConvertFp32ToBf16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(ConvertFp32ToBf16, ConvertFp32ToBf16Test) // Convert from Float16 to Float32 -ARMNN_AUTO_TEST_CASE(SimpleConvertFp16ToFp32, SimpleConvertFp16ToFp32Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvertFp16ToFp32, SimpleConvertFp16ToFp32Test) // Convert from Float32 to Float16 -ARMNN_AUTO_TEST_CASE(SimpleConvertFp32ToFp16, SimpleConvertFp32ToFp16Test) +ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleConvertFp32ToFp16, SimpleConvertFp32ToFp16Test) // Mean ARMNN_AUTO_TEST_CASE(MeanSimpleFloat32, MeanSimpleTest)