From 4a8692cf18ebd3c4de125274d5c840d7be64e3cd Mon Sep 17 00:00:00 2001 From: David Beck Date: Fri, 7 Sep 2018 16:19:24 +0100 Subject: IVGCVSW-1801 : Cl implementation for SUB Change-Id: Ia2e1dda8653197454a50679d49020397f5327979 --- src/armnn/backends/test/CreateWorkloadCl.cpp | 101 +++++++++++++++++---------- 1 file changed, 64 insertions(+), 37 deletions(-) (limited to 'src/armnn/backends/test/CreateWorkloadCl.cpp') diff --git a/src/armnn/backends/test/CreateWorkloadCl.cpp b/src/armnn/backends/test/CreateWorkloadCl.cpp index 96001a4b78..340279e619 100644 --- a/src/armnn/backends/test/CreateWorkloadCl.cpp +++ b/src/armnn/backends/test/CreateWorkloadCl.cpp @@ -47,15 +47,18 @@ BOOST_AUTO_TEST_CASE(CreateActivationFloat16Workload) ClCreateActivationWorkloadTest(); } -template -static void ClCreateAdditionWorkloadTest() +template +static void ClCreateArithmethicWorkloadTest() { Graph graph; ClWorkloadFactory factory; - auto workload = CreateAdditionWorkloadTest(factory, graph); + auto workload = CreateArithmeticWorkloadTest(factory, graph); - // Checks that inputs/outputs are as we expect them (see definition of CreateAdditionWorkloadTest). - AdditionQueueDescriptor queueDescriptor = workload->GetData(); + // Checks that inputs/outputs are as we expect them (see definition of CreateSubtractionWorkloadTest). + DescriptorType queueDescriptor = workload->GetData(); auto inputHandle1 = boost::polymorphic_downcast(queueDescriptor.m_Inputs[0]); auto inputHandle2 = boost::polymorphic_downcast(queueDescriptor.m_Inputs[1]); auto outputHandle = boost::polymorphic_downcast(queueDescriptor.m_Outputs[0]); @@ -66,12 +69,66 @@ static void ClCreateAdditionWorkloadTest() BOOST_AUTO_TEST_CASE(CreateAdditionFloatWorkload) { - ClCreateAdditionWorkloadTest(); + ClCreateArithmethicWorkloadTest(); } BOOST_AUTO_TEST_CASE(CreateAdditionFloat16Workload) { - ClCreateAdditionWorkloadTest(); + ClCreateArithmethicWorkloadTest(); +} + +BOOST_AUTO_TEST_CASE(CreateSubtractionFloatWorkload) +{ + ClCreateArithmethicWorkloadTest(); +} + +BOOST_AUTO_TEST_CASE(CreateSubtractionFloat16Workload) +{ + ClCreateArithmethicWorkloadTest(); +} + +BOOST_AUTO_TEST_CASE(CreateMultiplicationFloatWorkloadTest) +{ + ClCreateArithmethicWorkloadTest(); +} + +BOOST_AUTO_TEST_CASE(CreateMultiplicationFloat16WorkloadTest) +{ + ClCreateArithmethicWorkloadTest(); +} + +BOOST_AUTO_TEST_CASE(CreateDivisionFloatWorkloadTest) +{ + ClCreateArithmethicWorkloadTest(); +} + +BOOST_AUTO_TEST_CASE(CreateDivisionFloat16WorkloadTest) +{ + ClCreateArithmethicWorkloadTest(); } template @@ -219,36 +276,6 @@ BOOST_AUTO_TEST_CASE(CreateFullyConnectedFloat16WorkloadTest) ClCreateFullyConnectedWorkloadTest(); } - -template -static void ClCreateMultiplicationWorkloadTest() -{ - Graph graph; - ClWorkloadFactory factory; - - auto workload = - CreateMultiplicationWorkloadTest(factory, graph); - - // Checks that inputs/outputs are as we expect them (see definition of CreateMultiplicationWorkloadTest). - MultiplicationQueueDescriptor queueDescriptor = workload->GetData(); - auto inputHandle1 = boost::polymorphic_downcast(queueDescriptor.m_Inputs[0]); - auto inputHandle2 = boost::polymorphic_downcast(queueDescriptor.m_Inputs[1]); - auto outputHandle = boost::polymorphic_downcast(queueDescriptor.m_Outputs[0]); - BOOST_TEST(CompareIClTensorHandleShape(inputHandle1, {2, 3})); - BOOST_TEST(CompareIClTensorHandleShape(inputHandle2, {2, 3})); - BOOST_TEST(CompareIClTensorHandleShape(outputHandle, {2, 3})); -} - -BOOST_AUTO_TEST_CASE(CreateMultiplicationFloatWorkloadTest) -{ - ClCreateMultiplicationWorkloadTest(); -} - -BOOST_AUTO_TEST_CASE(CreateMultiplicationFloat16WorkloadTest) -{ - ClCreateMultiplicationWorkloadTest(); -} - template static void ClNormalizationWorkloadTest() { -- cgit v1.2.1