From c9ea45adefdde2890e9aa191a5b31563a3dd35ea Mon Sep 17 00:00:00 2001 From: Mike Kelly Date: Fri, 28 Feb 2020 18:11:58 +0000 Subject: IVGCVSW-4375 Add support for Transpose * Added TransposeLayer * Added CL, Neon and Ref Workloads * Added Transpose utilities * Added Serializer and Deserializer support * Added Quantizer support Signed-off-by: Mike Kelly Change-Id: I04c755ba7cb5b1edf72b3c9f3c0314878032e3c7 --- .../reference/workloads/RefTransposeWorkload.cpp | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/backends/reference/workloads/RefTransposeWorkload.cpp (limited to 'src/backends/reference/workloads/RefTransposeWorkload.cpp') diff --git a/src/backends/reference/workloads/RefTransposeWorkload.cpp b/src/backends/reference/workloads/RefTransposeWorkload.cpp new file mode 100644 index 0000000000..6bdfb2111d --- /dev/null +++ b/src/backends/reference/workloads/RefTransposeWorkload.cpp @@ -0,0 +1,35 @@ +// +// Copyright © 2020 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#include "RefTransposeWorkload.hpp" +#include "RefWorkloadUtils.hpp" + +#include + +#include + +namespace armnn +{ + +template +void RefTransposeWorkload::Execute() const +{ + using T = ResolveType; + + ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, GetName() + "_Execute"); + + const ITensorHandle* src = m_Data.m_Inputs[0]; + ITensorHandle* dst = m_Data.m_Outputs[0]; + const PermutationVector& mappings = m_Data.m_Parameters.m_DimMappings; + + armnnUtils::Transpose(GetTensorInfo(src).GetShape(), mappings, src->Map(), dst->Map(), sizeof(T)); +} + +template class RefTransposeWorkload; +template class RefTransposeWorkload; +template class RefTransposeWorkload; +template class RefTransposeWorkload; + +} //namespace armnn -- cgit v1.2.1