diff options
author | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2020-01-09 10:16:39 +0000 |
---|---|---|
committer | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2020-01-17 18:20:02 +0000 |
commit | d2d917d1305e401b2b584698c216e9f5a966c743 (patch) | |
tree | 36f809727b134c89a43d6de9a640afd92a30b999 | |
parent | 93b622f96935e4d239104f6512499a57290da07f (diff) | |
download | armnn-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.cpp | 5 | ||||
-rw-r--r-- | src/backends/reference/RefWorkloadFactory.cpp | 4 | ||||
-rw-r--r-- | src/backends/reference/workloads/Debug.cpp | 6 | ||||
-rw-r--r-- | src/backends/reference/workloads/RefDebugWorkload.cpp | 1 | ||||
-rw-r--r-- | src/backends/reference/workloads/RefDebugWorkload.hpp | 1 |
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 |