aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTeresa Charlin <teresa.charlinreyes@arm.com>2022-05-04 17:54:19 +0100
committerTeresa Charlin <teresa.charlinreyes@arm.com>2022-05-04 17:54:19 +0100
commit38b72e8de898d84a1481e242803da61009719891 (patch)
treee6a536674e53557c94862fd88fe365735e96d55b
parentf0fce5be82fa35ee816945b557561854e7bde7c0 (diff)
downloadarmnn-38b72e8de898d84a1481e242803da61009719891.tar.gz
IVGCVSW-6937 Add INT32 support to FLOOR
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I6f7cddb2d23c67ae682132d18f98776c074dcb3b
-rw-r--r--src/backends/backendsCommon/WorkloadData.cpp3
-rw-r--r--src/backends/backendsCommon/test/layerTests/FloorTestImpl.cpp11
-rw-r--r--src/backends/reference/RefLayerSupport.cpp5
-rw-r--r--src/backends/reference/test/RefLayerTests.cpp1
4 files changed, 14 insertions, 6 deletions
diff --git a/src/backends/backendsCommon/WorkloadData.cpp b/src/backends/backendsCommon/WorkloadData.cpp
index 962ecde24b..70d7641f41 100644
--- a/src/backends/backendsCommon/WorkloadData.cpp
+++ b/src/backends/backendsCommon/WorkloadData.cpp
@@ -1953,7 +1953,8 @@ void FloorQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) const
DataType::BFloat16,
DataType::Float32,
DataType::Float16,
- DataType::QSymmS16
+ DataType::QSymmS16,
+ DataType::Signed32
};
ValidateDataTypes(inputTensorInfo, supportedTypes, descriptorName);
diff --git a/src/backends/backendsCommon/test/layerTests/FloorTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/FloorTestImpl.cpp
index 2bf8c97af5..377c2aaf1a 100644
--- a/src/backends/backendsCommon/test/layerTests/FloorTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/FloorTestImpl.cpp
@@ -19,10 +19,10 @@ LayerTestResult<T, 4> SimpleFloorTest(
{
IgnoreUnused(memoryManager);
armnn::TensorInfo inputTensorInfo({1, 3, 2, 3}, ArmnnType);
- inputTensorInfo.SetQuantizationScale(0.1f);
+ inputTensorInfo.SetQuantizationScale(1.0f);
armnn::TensorInfo outputTensorInfo(inputTensorInfo);
- outputTensorInfo.SetQuantizationScale(0.1f);
+ outputTensorInfo.SetQuantizationScale(1.0f);
std::vector<T> input = ConvertToDataType<ArmnnType>(
{
@@ -80,9 +80,14 @@ SimpleFloorTest<armnn::DataType::Float16>(
const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
const armnn::ITensorHandleFactory& tensorHandleFactory);
-
template LayerTestResult<armnn::ResolveType<armnn::DataType::QSymmS16>, 4>
SimpleFloorTest<armnn::DataType::QSymmS16>(
armnn::IWorkloadFactory& workloadFactory,
const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
const armnn::ITensorHandleFactory& tensorHandleFactory);
+
+template LayerTestResult<armnn::ResolveType<armnn::DataType::Signed32>, 4>
+SimpleFloorTest<armnn::DataType::Signed32>(
+ armnn::IWorkloadFactory& workloadFactory,
+ const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
+ const armnn::ITensorHandleFactory& tensorHandleFactory); \ No newline at end of file
diff --git a/src/backends/reference/RefLayerSupport.cpp b/src/backends/reference/RefLayerSupport.cpp
index 3bc4affb28..66661cb521 100644
--- a/src/backends/reference/RefLayerSupport.cpp
+++ b/src/backends/reference/RefLayerSupport.cpp
@@ -1500,11 +1500,12 @@ bool RefLayerSupport::IsFloorSupported(const TensorInfo& input,
IgnoreUnused(output);
bool supported = true;
- std::array<DataType,3> supportedTypes =
+ std::array<DataType,4> supportedTypes =
{
DataType::BFloat16,
DataType::Float32,
- DataType::Float16
+ DataType::Float16,
+ DataType::Signed32
};
supported &= CheckSupportRule(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,
diff --git a/src/backends/reference/test/RefLayerTests.cpp b/src/backends/reference/test/RefLayerTests.cpp
index 496b11db91..5db335fc15 100644
--- a/src/backends/reference/test/RefLayerTests.cpp
+++ b/src/backends/reference/test/RefLayerTests.cpp
@@ -1643,6 +1643,7 @@ ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleFillS32, SimpleFillTest<DataType::Signed32>)
// Floor
ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleFloor, SimpleFloorTest<DataType::Float32>)
ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleFloorFloat16, SimpleFloorTest<DataType::Float16>)
+ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleFloorInt32, SimpleFloorTest<DataType::Signed32>)
// Reshape
ARMNN_AUTO_TEST_CASE_WITH_THF(SimpleReshapeFloat32, SimpleReshapeTest<DataType::Float32>)