aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference/workloads/RefStridedSliceWorkload.cpp
diff options
context:
space:
mode:
authorNattapat Chaimanowong <nattapat.chaimanowong@arm.com>2018-11-23 15:33:41 +0000
committernattapat.chaimanowong <nattapat.chaimanowong@arm.com>2018-11-26 16:43:23 +0000
commit1216b585e085bc3aa0941b7dea6e263e978cb22c (patch)
treebd04eb4cc92383f788acb79489ecce81ef1bfac5 /src/backends/reference/workloads/RefStridedSliceWorkload.cpp
parent144c01b56d5e8b2f9d8e84a03f7fe975888ee25a (diff)
downloadarmnn-1216b585e085bc3aa0941b7dea6e263e978cb22c.tar.gz
IVGCVSW-2087 Reference implementation and unit tests for StridedSlice
Change-Id: Ifeacc0adb4547c72537b9ea7a61bf3c4ec3673fa
Diffstat (limited to 'src/backends/reference/workloads/RefStridedSliceWorkload.cpp')
-rw-r--r--src/backends/reference/workloads/RefStridedSliceWorkload.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/backends/reference/workloads/RefStridedSliceWorkload.cpp b/src/backends/reference/workloads/RefStridedSliceWorkload.cpp
new file mode 100644
index 0000000000..26a878e02f
--- /dev/null
+++ b/src/backends/reference/workloads/RefStridedSliceWorkload.cpp
@@ -0,0 +1,34 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#include "RefStridedSliceWorkload.hpp"
+#include "StridedSlice.hpp"
+
+#include "RefWorkloadUtils.hpp"
+#include "TypeUtils.hpp"
+
+namespace armnn
+{
+
+template<armnn::DataType DataType>
+void RefStridedSliceWorkload<DataType>::Execute() const
+{
+ using T = ResolveType<DataType>;
+
+ ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, GetName() + "_Execute");
+
+ const TensorInfo& inputInfo = GetTensorInfo(m_Data.m_Inputs[0]);
+ const TensorInfo& outputInfo = GetTensorInfo(m_Data.m_Outputs[0]);
+
+ const T* inputData = GetInputTensorData<T>(0, m_Data);
+ T* outputData = GetOutputTensorData<T>(0, m_Data);
+
+ StridedSlice(inputInfo, outputInfo, m_Data.m_Parameters, inputData, outputData);
+}
+
+template class RefStridedSliceWorkload<DataType::Float32>;
+template class RefStridedSliceWorkload<DataType::QuantisedAsymm8>;
+
+} //namespace armnn