From 386ff1a721cdca3689b009ba31f2d3ac8bea2fae Mon Sep 17 00:00:00 2001 From: Mike Kelly Date: Mon, 29 Mar 2021 15:04:50 +0100 Subject: IVGCVSW-5790 Merge async prototype * Added thread safe execution mechanism for armnn * Removed duplicate function bool Compare(T a, T b, float tolerance) * Added StridedSliceAsyncEndToEndTest * Fixed memory leak Signed-off-by: Mike Kelly Change-Id: I2d367fc77ee7c01b8953138543e76af5e691211f --- .../workloads/RefStridedSliceWorkload.cpp | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'src/backends/reference/workloads/RefStridedSliceWorkload.cpp') diff --git a/src/backends/reference/workloads/RefStridedSliceWorkload.cpp b/src/backends/reference/workloads/RefStridedSliceWorkload.cpp index 6a29439cc0..ce807ee087 100644 --- a/src/backends/reference/workloads/RefStridedSliceWorkload.cpp +++ b/src/backends/reference/workloads/RefStridedSliceWorkload.cpp @@ -1,5 +1,5 @@ // -// Copyright © 2017 Arm Ltd. All rights reserved. +// Copyright © 2017 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // @@ -35,4 +35,24 @@ void RefStridedSliceWorkload::Execute() const GetDataTypeSize(inputDataType)); } +void RefStridedSliceWorkload::ExecuteAsync(WorkingMemDescriptor& descriptor) +{ + ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefStridedSliceWorkload_Execute_WorkingMemDescriptor"); + + const TensorInfo& inputInfo = GetTensorInfo(descriptor.m_Inputs[0]); + const TensorInfo& outputInfo = GetTensorInfo(descriptor.m_Outputs[0]); + + DataType inputDataType = inputInfo.GetDataType(); + DataType outputDataType = outputInfo.GetDataType(); + + ARMNN_ASSERT(inputDataType == outputDataType); + IgnoreUnused(outputDataType); + + StridedSlice(inputInfo, + m_Data.m_Parameters, + descriptor.m_Inputs[0]->Map(), + descriptor.m_Outputs[0]->Map(), + GetDataTypeSize(inputDataType)); +} + } // namespace armnn -- cgit v1.2.1