aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSadik Armagan <sadik.armagan@arm.com>2020-04-09 15:48:44 +0100
committerSadik Armagan <sadik.armagan@arm.com>2020-04-09 15:48:44 +0100
commite5d0b93b152a26faf93538eb719d03e5b477d670 (patch)
tree360e1d83c40459a8cbec64fc346411a1a63193ef
parent99b57c97ef07bbbefaf655915c01bfb2f9f05e15 (diff)
downloadarmnn-e5d0b93b152a26faf93538eb719d03e5b477d670.tar.gz
IVGCVSW-4641 Investigate Hal 1.3 VTS Failures
* Add QASYMM8_SIGNED data type support to NeonTensorHandle Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Iae34f7d67de83642606ccd8c61a1b72df7f2bb3a
-rw-r--r--src/backends/aclCommon/ArmComputeTensorUtils.cpp1
-rw-r--r--src/backends/neon/NeonTensorHandle.hpp16
-rw-r--r--src/backends/neon/workloads/NeonWorkloadUtils.hpp1
3 files changed, 18 insertions, 0 deletions
diff --git a/src/backends/aclCommon/ArmComputeTensorUtils.cpp b/src/backends/aclCommon/ArmComputeTensorUtils.cpp
index 7a75f9c872..00ebc9ce3f 100644
--- a/src/backends/aclCommon/ArmComputeTensorUtils.cpp
+++ b/src/backends/aclCommon/ArmComputeTensorUtils.cpp
@@ -264,6 +264,7 @@ arm_compute::PixelValue GetPixelValue(arm_compute::ITensor& input, float pixelVa
return arm_compute::PixelValue(static_cast<uint8_t>(pixelValue));
case arm_compute::DataType::QSYMM16:
return arm_compute::PixelValue(static_cast<int16_t>(pixelValue));
+ case arm_compute::DataType::QASYMM8_SIGNED:
case arm_compute::DataType::QSYMM8_PER_CHANNEL:
return arm_compute::PixelValue(static_cast<int8_t>(pixelValue));
default:
diff --git a/src/backends/neon/NeonTensorHandle.hpp b/src/backends/neon/NeonTensorHandle.hpp
index fb2c2b5128..f251034823 100644
--- a/src/backends/neon/NeonTensorHandle.hpp
+++ b/src/backends/neon/NeonTensorHandle.hpp
@@ -179,6 +179,10 @@ private:
armcomputetensorutils::CopyArmComputeITensorData(this->GetTensor(),
static_cast<uint8_t*>(memory));
break;
+ case arm_compute::DataType::QASYMM8_SIGNED:
+ armcomputetensorutils::CopyArmComputeITensorData(this->GetTensor(),
+ static_cast<int8_t*>(memory));
+ break;
case arm_compute::DataType::BFLOAT16:
armcomputetensorutils::CopyArmComputeITensorData(this->GetTensor(),
static_cast<armnn::BFloat16*>(memory));
@@ -217,6 +221,10 @@ private:
armcomputetensorutils::CopyArmComputeITensorData(static_cast<const uint8_t*>(memory),
this->GetTensor());
break;
+ case arm_compute::DataType::QASYMM8_SIGNED:
+ armcomputetensorutils::CopyArmComputeITensorData(static_cast<const int8_t*>(memory),
+ this->GetTensor());
+ break;
case arm_compute::DataType::BFLOAT16:
armcomputetensorutils::CopyArmComputeITensorData(static_cast<const armnn::BFloat16*>(memory),
this->GetTensor());
@@ -305,6 +313,10 @@ private:
armcomputetensorutils::CopyArmComputeITensorData(this->GetTensor(),
static_cast<uint8_t*>(memory));
break;
+ case arm_compute::DataType::QASYMM8_SIGNED:
+ armcomputetensorutils::CopyArmComputeITensorData(this->GetTensor(),
+ static_cast<int8_t*>(memory));
+ break;
case arm_compute::DataType::S16:
case arm_compute::DataType::QSYMM16:
armcomputetensorutils::CopyArmComputeITensorData(this->GetTensor(),
@@ -335,6 +347,10 @@ private:
armcomputetensorutils::CopyArmComputeITensorData(static_cast<const uint8_t*>(memory),
this->GetTensor());
break;
+ case arm_compute::DataType::QASYMM8_SIGNED:
+ armcomputetensorutils::CopyArmComputeITensorData(static_cast<const int8_t*>(memory),
+ this->GetTensor());
+ break;
case arm_compute::DataType::S16:
case arm_compute::DataType::QSYMM16:
armcomputetensorutils::CopyArmComputeITensorData(static_cast<const int16_t*>(memory),
diff --git a/src/backends/neon/workloads/NeonWorkloadUtils.hpp b/src/backends/neon/workloads/NeonWorkloadUtils.hpp
index c3c9d3dbbc..860a8353d6 100644
--- a/src/backends/neon/workloads/NeonWorkloadUtils.hpp
+++ b/src/backends/neon/workloads/NeonWorkloadUtils.hpp
@@ -52,6 +52,7 @@ inline void InitializeArmComputeTensorData(arm_compute::Tensor& tensor,
case DataType::QuantizedSymm8PerAxis:
ARMNN_FALLTHROUGH;
case DataType::QSymmS8:
+ case DataType::QAsymmS8:
CopyArmComputeTensorData(tensor, handle->GetConstTensor<int8_t>());
break;
ARMNN_NO_DEPRECATE_WARN_END