blob: 8bb1670a48a56868ec8c77b832af6589f6bd7727 [file] [log] [blame]
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +00001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#include "RefStridedSliceWorkload.hpp"
Matteo Martincighe851b3d2019-05-28 14:31:20 +01007#include "RefWorkloadUtils.hpp"
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +00008#include "StridedSlice.hpp"
9
Matteo Martincighe851b3d2019-05-28 14:31:20 +010010#include <boost/format.hpp>
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +000011
12namespace armnn
13{
14
Matteo Martincighe851b3d2019-05-28 14:31:20 +010015RefStridedSliceWorkload::RefStridedSliceWorkload(const StridedSliceQueueDescriptor& descriptor,
16 const WorkloadInfo& info)
17 : BaseWorkload(descriptor, info)
18{}
19
20void RefStridedSliceWorkload::Execute() const
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +000021{
Matteo Martincighe851b3d2019-05-28 14:31:20 +010022 ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefStridedSliceWorkload_Execute");
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +000023
Matteo Martincighe851b3d2019-05-28 14:31:20 +010024 const TensorInfo& inputInfo = GetTensorInfo(m_Data.m_Inputs[0]);
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +000025 const TensorInfo& outputInfo = GetTensorInfo(m_Data.m_Outputs[0]);
26
Matteo Martincighe851b3d2019-05-28 14:31:20 +010027 DataType inputDataType = inputInfo.GetDataType();
28 DataType outputDataType = outputInfo.GetDataType();
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +000029
Matteo Martincighe851b3d2019-05-28 14:31:20 +010030 BOOST_ASSERT(inputDataType == outputDataType);
31 boost::ignore_unused(outputDataType);
32
33 StridedSlice(inputInfo,
34 m_Data.m_Parameters,
35 m_Data.m_Inputs[0]->Map(),
36 m_Data.m_Outputs[0]->Map(),
37 GetDataTypeSize(inputDataType));
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +000038}
39
Matteo Martincighe851b3d2019-05-28 14:31:20 +010040} // namespace armnn