From e8ac13308b84b2ee9bc930ac8d27e657300e462d Mon Sep 17 00:00:00 2001 From: Francis Murtagh Date: Thu, 30 Jul 2020 18:03:40 +0100 Subject: IVGCVSW-5174 Fix i386 Floor and AbsTest * Remove QSymm16 support for Floor to match NNApi and disable RefLayerTest * Return nullptr for floor workload if quantized type * Fix SimpleAbsTest incorrect output Signed-off-by: Francis Murtagh Change-Id: I80d9e2fb78777d0a3fc7ce6d12b5eb4af3fd1d3a --- src/armnnDeserializer/test/DeserializeAbs.cpp | 2 +- src/backends/reference/RefLayerSupport.cpp | 5 ++--- src/backends/reference/RefWorkloadFactory.cpp | 9 ++++++++- src/backends/reference/test/RefLayerTests.cpp | 1 - 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/armnnDeserializer/test/DeserializeAbs.cpp b/src/armnnDeserializer/test/DeserializeAbs.cpp index 4d6504bc10..bdaa869e87 100644 --- a/src/armnnDeserializer/test/DeserializeAbs.cpp +++ b/src/armnnDeserializer/test/DeserializeAbs.cpp @@ -114,7 +114,7 @@ BOOST_AUTO_TEST_SUITE(Deserializer) RunTest<4, armnn::DataType::Float32>( 0, {{"InputLayer", { -100.0f, -50.5f, -25.9999f, -0.5f , 0.0f, 1.5555f, 25.5f, 100.0f }}}, - {{"OutputLayer", { 100.0f, 50.0f, 25.9999f, 0.5f , 0.0f, 1.5555f, 25.5f, 100.0f }}}); + {{"OutputLayer", { 100.0f, 50.5f, 25.9999f, 0.5f , 0.0f, 1.5555f, 25.5f, 100.0f }}}); } BOOST_AUTO_TEST_SUITE_END() \ No newline at end of file diff --git a/src/backends/reference/RefLayerSupport.cpp b/src/backends/reference/RefLayerSupport.cpp index 1886d3253b..80527bdcb2 100644 --- a/src/backends/reference/RefLayerSupport.cpp +++ b/src/backends/reference/RefLayerSupport.cpp @@ -889,12 +889,11 @@ bool RefLayerSupport::IsFloorSupported(const TensorInfo& input, IgnoreUnused(output); bool supported = true; - std::array supportedTypes = + std::array supportedTypes = { DataType::BFloat16, DataType::Float32, - DataType::Float16, - DataType::QSymmS16 + DataType::Float16 }; supported &= CheckSupportRule(TypeAnyOf(input, supportedTypes), reasonIfUnsupported, diff --git a/src/backends/reference/RefWorkloadFactory.cpp b/src/backends/reference/RefWorkloadFactory.cpp index cac1d1bd8a..4ab1701391 100644 --- a/src/backends/reference/RefWorkloadFactory.cpp +++ b/src/backends/reference/RefWorkloadFactory.cpp @@ -327,7 +327,14 @@ std::unique_ptr RefWorkloadFactory::CreateFill(const FillQueueDescrip std::unique_ptr RefWorkloadFactory::CreateFloor(const FloorQueueDescriptor& descriptor, const WorkloadInfo& info) const { - return std::make_unique(descriptor, info); + if(IsQuantizedType(info.m_InputTensorInfos[0].GetDataType())) + { + return nullptr; + } + else + { + return std::make_unique(descriptor, info); + } } std::unique_ptr RefWorkloadFactory::CreateFullyConnected( diff --git a/src/backends/reference/test/RefLayerTests.cpp b/src/backends/reference/test/RefLayerTests.cpp index df1997ddeb..f79e7e588f 100644 --- a/src/backends/reference/test/RefLayerTests.cpp +++ b/src/backends/reference/test/RefLayerTests.cpp @@ -1366,7 +1366,6 @@ ARMNN_AUTO_TEST_CASE(SimpleFillS32, SimpleFillTest) // Floor ARMNN_AUTO_TEST_CASE(SimpleFloor, SimpleFloorTest) ARMNN_AUTO_TEST_CASE(SimpleFloorFloat16, SimpleFloorTest) -ARMNN_AUTO_TEST_CASE(SimpleFloorQuantisedSymm16, SimpleFloorTest) // Reshape ARMNN_AUTO_TEST_CASE(SimpleReshapeFloat32, SimpleReshapeTest) -- cgit v1.2.1