blob: b41c2de9affeb125bf7ff6583705aaf0dc34982a [file] [log] [blame]
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#include "RefPadWorkload.hpp"
7
8#include "Pad.hpp"
9#include "RefWorkloadUtils.hpp"
10
11#include "Profiling.hpp"
12
Mohamed Nour Abouelseouddd6acea2018-10-18 12:26:19 +010013#include "TypeUtils.hpp"
14
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +010015#include <vector>
16
17namespace armnn
18{
19
Mohamed Nour Abouelseouddd6acea2018-10-18 12:26:19 +010020template <armnn::DataType DataType>
21void RefPadWorkload<DataType>::Execute() const
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +010022{
Mohamed Nour Abouelseouddd6acea2018-10-18 12:26:19 +010023 using T = ResolveType<DataType>;
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +010024
25 ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefPadWorkload_Execute");
26
27 const TensorInfo& inputInfo = GetTensorInfo(m_Data.m_Inputs[0]);
28 const TensorInfo& outputInfo = GetTensorInfo(m_Data.m_Outputs[0]);
29
Mohamed Nour Abouelseouddd6acea2018-10-18 12:26:19 +010030 const T* inputData = GetInputTensorData<T>(0, m_Data);
31 T* outputData = GetOutputTensorData<T>(0, m_Data);
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +010032
33
34 Pad(inputInfo, outputInfo, m_Data.m_Parameters.m_PadList, inputData, outputData);
35}
36
Mohamed Nour Abouelseouddd6acea2018-10-18 12:26:19 +010037template class RefPadWorkload<DataType::Float32>;
38template class RefPadWorkload<DataType::QuantisedAsymm8>;
39
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +010040} //namespace armnn