diff options
author | John Mcloughlin <john.mcloughlin@arm.com> | 2023-09-25 14:10:32 +0100 |
---|---|---|
committer | john.mcloughlin <john.mcloughlin@arm.com> | 2023-09-26 17:21:22 +0000 |
commit | 4cf29d6b4bf1c8c6e6080099cb5eddfd079ee68c (patch) | |
tree | ba9affa8ec926e0b5cc9a9c4cdfdd1f9cf2aa3c1 /src/backends | |
parent | a2135bb3737bd7c86c6ea9ed8df2272e5f3ebcb0 (diff) | |
download | armnn-4cf29d6b4bf1c8c6e6080099cb5eddfd079ee68c.tar.gz |
GitHub #734 Add ExecuteNetwork support for S64 bit output
* Add Signed 64 bit support for Output and Debug Layers
Signed-off-by: John Mcloughlin <john.mcloughlin@arm.com>
Change-Id: I991c2d5f1067b16d0fac362e7406305fbe90d034
Diffstat (limited to 'src/backends')
4 files changed, 18 insertions, 1 deletions
diff --git a/src/backends/reference/RefWorkloadFactory.cpp b/src/backends/reference/RefWorkloadFactory.cpp index c4d9583a66..ad6ec9a792 100644 --- a/src/backends/reference/RefWorkloadFactory.cpp +++ b/src/backends/reference/RefWorkloadFactory.cpp @@ -45,6 +45,10 @@ bool IsDataType(const WorkloadInfo& info) } return false; } +bool IsSigned64(const WorkloadInfo& info) +{ + return IsDataType<DataType::Signed64>(info); +} bool IsSigned32(const WorkloadInfo& info) { return IsDataType<DataType::Signed32>(info); @@ -263,6 +267,10 @@ std::unique_ptr<IWorkload> RefWorkloadFactory::CreateWorkload(LayerType type, { return std::make_unique<RefDebugSigned32Workload>(*debugQueueDescriptor, info); } + if (IsSigned64(info)) + { + return std::make_unique<RefDebugSigned64Workload>(*debugQueueDescriptor, info); + } return MakeWorkload<RefDebugFloat32Workload, RefDebugQAsymmU8Workload>(*debugQueueDescriptor, info); } case LayerType::DepthToSpace: diff --git a/src/backends/reference/workloads/Debug.cpp b/src/backends/reference/workloads/Debug.cpp index 50aecc8b66..564dd7ae5c 100644 --- a/src/backends/reference/workloads/Debug.cpp +++ b/src/backends/reference/workloads/Debug.cpp @@ -1,5 +1,5 @@ // -// Copyright © 2017 Arm Ltd. All rights reserved. +// Copyright © 2017-2023 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // @@ -165,4 +165,11 @@ template void Debug<int32_t>(const TensorInfo& inputInfo, unsigned int slotIndex, bool outputsToFile); +template void Debug<int64_t>(const TensorInfo& inputInfo, + const int64_t* inputData, + LayerGuid guid, + const std::string& layerName, + unsigned int slotIndex, + bool outputsToFile); + } // namespace armnn diff --git a/src/backends/reference/workloads/RefDebugWorkload.cpp b/src/backends/reference/workloads/RefDebugWorkload.cpp index 3653bb6c13..94eed4ff4f 100644 --- a/src/backends/reference/workloads/RefDebugWorkload.cpp +++ b/src/backends/reference/workloads/RefDebugWorkload.cpp @@ -65,5 +65,6 @@ template class RefDebugWorkload<DataType::QAsymmS8>; template class RefDebugWorkload<DataType::QSymmS16>; template class RefDebugWorkload<DataType::QSymmS8>; template class RefDebugWorkload<DataType::Signed32>; +template class RefDebugWorkload<DataType::Signed64>; } // namespace armnn diff --git a/src/backends/reference/workloads/RefDebugWorkload.hpp b/src/backends/reference/workloads/RefDebugWorkload.hpp index 0dd98d2ef3..4c99990ec4 100644 --- a/src/backends/reference/workloads/RefDebugWorkload.hpp +++ b/src/backends/reference/workloads/RefDebugWorkload.hpp @@ -47,5 +47,6 @@ using RefDebugQAsymmS8Workload = RefDebugWorkload<DataType::QAsymmS8>; using RefDebugQSymmS16Workload = RefDebugWorkload<DataType::QSymmS16>; using RefDebugQSymmS8Workload = RefDebugWorkload<DataType::QSymmS8>; using RefDebugSigned32Workload = RefDebugWorkload<DataType::Signed32>; +using RefDebugSigned64Workload = RefDebugWorkload<DataType::Signed64>; } // namespace armnn |