aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNarumol Prangnawarat <narumol.prangnawarat@arm.com>2020-01-09 10:16:39 +0000
committerNarumol Prangnawarat <narumol.prangnawarat@arm.com>2020-01-17 18:20:02 +0000
commitd2d917d1305e401b2b584698c216e9f5a966c743 (patch)
tree36f809727b134c89a43d6de9a640afd92a30b999
parent93b622f96935e4d239104f6512499a57290da07f (diff)
downloadarmnn-d2d917d1305e401b2b584698c216e9f5a966c743.tar.gz
Add Signed32 to debug layer
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: Iedfc196bfd18e8280e99a06db68df9c15c8ea835
-rw-r--r--src/backends/reference/RefLayerSupport.cpp5
-rw-r--r--src/backends/reference/RefWorkloadFactory.cpp4
-rw-r--r--src/backends/reference/workloads/Debug.cpp6
-rw-r--r--src/backends/reference/workloads/RefDebugWorkload.cpp1
-rw-r--r--src/backends/reference/workloads/RefDebugWorkload.hpp1
5 files changed, 15 insertions, 2 deletions
diff --git a/src/backends/reference/RefLayerSupport.cpp b/src/backends/reference/RefLayerSupport.cpp
index 4767aa0b3b..26a61d45d5 100644
--- a/src/backends/reference/RefLayerSupport.cpp
+++ b/src/backends/reference/RefLayerSupport.cpp
@@ -496,12 +496,13 @@ bool RefLayerSupport::IsDebugSupported(const TensorInfo& input,
{
bool supported = true;
- std::array<DataType, 4> supportedTypes =
+ std::array<DataType, 5> supportedTypes =
{
DataType::Float16,
DataType::Float32,
DataType::QAsymmU8,
- DataType::QSymmS16
+ DataType::QSymmS16,
+ DataType::Signed32
};
supported &= CheckSupportRule(TypeAnyOf(input, supportedTypes), reasonIfUnsupported,
diff --git a/src/backends/reference/RefWorkloadFactory.cpp b/src/backends/reference/RefWorkloadFactory.cpp
index b3a0c859fb..2db47d35c2 100644
--- a/src/backends/reference/RefWorkloadFactory.cpp
+++ b/src/backends/reference/RefWorkloadFactory.cpp
@@ -181,6 +181,10 @@ std::unique_ptr<IWorkload> RefWorkloadFactory::CreateDebug(const DebugQueueDescr
{
return std::make_unique<RefDebugQSymm16Workload>(descriptor, info);
}
+ if (IsDataType<DataType::Signed32>(info))
+ {
+ return std::make_unique<RefDebugSigned32Workload>(descriptor, info);
+ }
return MakeWorkload<RefDebugFloat32Workload, RefDebugQAsymm8Workload>(descriptor, info);
}
diff --git a/src/backends/reference/workloads/Debug.cpp b/src/backends/reference/workloads/Debug.cpp
index b7d0911ef3..0f192f3ab3 100644
--- a/src/backends/reference/workloads/Debug.cpp
+++ b/src/backends/reference/workloads/Debug.cpp
@@ -112,4 +112,10 @@ template void Debug<int16_t>(const TensorInfo& inputInfo,
const std::string& layerName,
unsigned int slotIndex);
+template void Debug<int32_t>(const TensorInfo& inputInfo,
+ const int32_t* inputData,
+ LayerGuid guid,
+ const std::string& layerName,
+ unsigned int slotIndex);
+
} // namespace armnn
diff --git a/src/backends/reference/workloads/RefDebugWorkload.cpp b/src/backends/reference/workloads/RefDebugWorkload.cpp
index 9572f9a2a5..59b836da09 100644
--- a/src/backends/reference/workloads/RefDebugWorkload.cpp
+++ b/src/backends/reference/workloads/RefDebugWorkload.cpp
@@ -48,5 +48,6 @@ template class RefDebugWorkload<DataType::Float16>;
template class RefDebugWorkload<DataType::Float32>;
template class RefDebugWorkload<DataType::QAsymmU8>;
template class RefDebugWorkload<DataType::QSymmS16>;
+template class RefDebugWorkload<DataType::Signed32>;
} // namespace armnn
diff --git a/src/backends/reference/workloads/RefDebugWorkload.hpp b/src/backends/reference/workloads/RefDebugWorkload.hpp
index fc154e9457..58e4464b00 100644
--- a/src/backends/reference/workloads/RefDebugWorkload.hpp
+++ b/src/backends/reference/workloads/RefDebugWorkload.hpp
@@ -41,5 +41,6 @@ using RefDebugFloat16Workload = RefDebugWorkload<DataType::Float16>;
using RefDebugFloat32Workload = RefDebugWorkload<DataType::Float32>;
using RefDebugQAsymm8Workload = RefDebugWorkload<DataType::QAsymmU8>;
using RefDebugQSymm16Workload = RefDebugWorkload<DataType::QSymmS16>;
+using RefDebugSigned32Workload = RefDebugWorkload<DataType::Signed32>;
} // namespace armnn