From 2323af4542db474d42e643051e38bbc65f5844e7 Mon Sep 17 00:00:00 2001 From: Ryan OShea Date: Wed, 13 May 2020 16:36:19 +0100 Subject: IVGCVSW-4450 Add CL Enhanced Quantized LSTM Workload * Adds QLstm CL workload * Added Layer and CreateWorkload tests Signed-off-by: Ryan OShea Signed-off-by: James Conroy Change-Id: I32335e528467bfd619edb249d2971705ac2a6163 --- src/backends/cl/test/ClCreateWorkloadTests.cpp | 28 ++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/backends/cl/test/ClCreateWorkloadTests.cpp') diff --git a/src/backends/cl/test/ClCreateWorkloadTests.cpp b/src/backends/cl/test/ClCreateWorkloadTests.cpp index b7522547d4..896d486ebf 100644 --- a/src/backends/cl/test/ClCreateWorkloadTests.cpp +++ b/src/backends/cl/test/ClCreateWorkloadTests.cpp @@ -1035,6 +1035,34 @@ BOOST_AUTO_TEST_CASE(CreateStackUint8Workload) ClCreateStackWorkloadTest({ 3, 4, 5 }, { 3, 4, 2, 5 }, 2, 2); } + +template +static void ClCreateQLstmWorkloadTest() +{ + Graph graph; + ClWorkloadFactory factory = ClWorkloadFactoryHelper::GetFactory(ClWorkloadFactoryHelper::GetMemoryManager()); + + auto workload = CreateQLstmWorkloadTest(factory, graph); + QLstmQueueDescriptor queueDescriptor = workload->GetData(); + + IAclTensorHandle* inputHandle = PolymorphicDowncast(queueDescriptor.m_Inputs[0]); + BOOST_TEST((inputHandle->GetShape() == TensorShape({2, 4}))); + BOOST_TEST((inputHandle->GetDataType() == arm_compute::DataType::QASYMM8_SIGNED)); + + IAclTensorHandle* cellStateOutHandle = PolymorphicDowncast(queueDescriptor.m_Outputs[1]); + BOOST_TEST((cellStateOutHandle->GetShape() == TensorShape({2, 4}))); + BOOST_TEST((cellStateOutHandle->GetDataType() == arm_compute::DataType::QSYMM16)); + + IAclTensorHandle* outputHandle = PolymorphicDowncast(queueDescriptor.m_Outputs[2]); + BOOST_TEST((outputHandle->GetShape() == TensorShape({2, 4}))); + BOOST_TEST((outputHandle->GetDataType() == arm_compute::DataType::QASYMM8_SIGNED)); +} + +BOOST_AUTO_TEST_CASE(CreateQLstmWorkloadTest) +{ + ClCreateQLstmWorkloadTest(); +} + template static void ClCreateQuantizedLstmWorkloadTest() { -- cgit v1.2.1