diff options
Diffstat (limited to 'src/backends/neon/test')
-rw-r--r-- | src/backends/neon/test/NeonCreateWorkloadTests.cpp | 30 | ||||
-rw-r--r-- | src/backends/neon/test/NeonLayerTests.cpp | 6 |
2 files changed, 36 insertions, 0 deletions
diff --git a/src/backends/neon/test/NeonCreateWorkloadTests.cpp b/src/backends/neon/test/NeonCreateWorkloadTests.cpp index 643ecd5a4f..6a4f612881 100644 --- a/src/backends/neon/test/NeonCreateWorkloadTests.cpp +++ b/src/backends/neon/test/NeonCreateWorkloadTests.cpp @@ -181,6 +181,36 @@ BOOST_AUTO_TEST_CASE(CreateMultiplicationUint8Workload) DataType::QuantisedAsymm8>(); } +template <typename WorkloadType, + typename DescriptorType, + typename LayerType, + armnn::DataType DataType> +static void NeonCreateElementwiseUnaryWorkloadTest() +{ + Graph graph; + NeonWorkloadFactory factory = + NeonWorkloadFactoryHelper::GetFactory(NeonWorkloadFactoryHelper::GetMemoryManager()); + + auto workload = CreateElementwiseUnaryWorkloadTest + <WorkloadType, DescriptorType, LayerType, DataType>(factory, graph); + + DescriptorType queueDescriptor = workload->GetData(); + + auto inputHandle = boost::polymorphic_downcast<IAclTensorHandle*>(queueDescriptor.m_Inputs[0]); + auto outputHandle = boost::polymorphic_downcast<IAclTensorHandle*>(queueDescriptor.m_Outputs[0]); + + BOOST_TEST(TestNeonTensorHandleInfo(inputHandle, TensorInfo({2, 3}, DataType))); + BOOST_TEST(TestNeonTensorHandleInfo(outputHandle, TensorInfo({2, 3}, DataType))); +} + +BOOST_AUTO_TEST_CASE(CreateRsqrtFloat32Workload) +{ + NeonCreateElementwiseUnaryWorkloadTest<NeonRsqrtWorkload, + RsqrtQueueDescriptor, + RsqrtLayer, + DataType::Float32>(); +} + template <typename BatchNormalizationWorkloadType, typename armnn::DataType DataType> static void NeonCreateBatchNormalizationWorkloadTest(DataLayout dataLayout) { diff --git a/src/backends/neon/test/NeonLayerTests.cpp b/src/backends/neon/test/NeonLayerTests.cpp index d9f78e8a5f..056656769f 100644 --- a/src/backends/neon/test/NeonLayerTests.cpp +++ b/src/backends/neon/test/NeonLayerTests.cpp @@ -859,6 +859,12 @@ ARMNN_AUTO_TEST_CASE(Abs3d, Abs3dTest<DataType::Float32>) ARMNN_AUTO_TEST_CASE(AbsZero, AbsZeroTest<DataType::Float32>) +// Rsqrt +ARMNN_AUTO_TEST_CASE(Rsqrt2d, Rsqrt2dTest<DataType::Float32>) +ARMNN_AUTO_TEST_CASE(Rsqrt3d, Rsqrt3dTest<DataType::Float32>) +ARMNN_AUTO_TEST_CASE(RsqrtZero, RsqrtZeroTest<DataType::Float32>) +ARMNN_AUTO_TEST_CASE(RsqrtNegative, RsqrtNegativeTest<DataType::Float32>) + #if defined(ARMNNREF_ENABLED) // The ARMNN_COMPARE_REF_AUTO_TEST_CASE and the ARMNN_COMPARE_REF_FIXTURE_TEST_CASE test units are not available |