blob: f94a83ee2caaddfe2a1d15b0a955bbcb0a66d211 [file] [log] [blame]
Aron Virginas-Tar92b9f872019-09-17 17:27:04 +01001//
2// Copyright © 2019 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#include "RefSliceWorkload.hpp"
7
8#include "RefWorkloadUtils.hpp"
9#include "Slice.hpp"
10
11#include <Profiling.hpp>
12
13namespace armnn
14{
15
16void RefSliceWorkload::Execute() const
17{
Finn Williamsb8181f72021-04-07 10:23:21 +010018 Execute(m_Data.m_Inputs, m_Data.m_Outputs);
19}
20
21void RefSliceWorkload::ExecuteAsync(WorkingMemDescriptor &workingMemDescriptor)
22{
23 Execute(workingMemDescriptor.m_Inputs, workingMemDescriptor.m_Outputs);
24}
25
26void RefSliceWorkload::Execute(std::vector<ITensorHandle*> inputs, std::vector<ITensorHandle*> outputs) const
27{
Aron Virginas-Tar92b9f872019-09-17 17:27:04 +010028 ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefSliceWorkload_Execute");
29
Finn Williamsb8181f72021-04-07 10:23:21 +010030 const TensorInfo& inputInfo = GetTensorInfo(inputs[0]);
Aron Virginas-Tar92b9f872019-09-17 17:27:04 +010031
32 Slice(inputInfo,
33 m_Data.m_Parameters,
Finn Williamsb8181f72021-04-07 10:23:21 +010034 inputs[0]->Map(),
35 outputs[0]->Map(),
Aron Virginas-Tar92b9f872019-09-17 17:27:04 +010036 GetDataTypeSize(inputInfo.GetDataType()));
37}
38
39} // namespace armnn