blob: 777682d70c6f1927f044a33fdb4dfdb22ee770d1 [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
Aron Virginas-Tard4f0fea2019-04-09 14:08:06 +010013#include <ResolveType.hpp>
Mohamed Nour Abouelseouddd6acea2018-10-18 12:26:19 +010014
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
Aron Virginas-Tarf3569052019-07-05 16:01:08 +010033 Pad(inputInfo, outputInfo, m_Data.m_Parameters.m_PadList, inputData, outputData, m_Data.m_Parameters.m_PadValue);
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +010034}
35
Narumol Prangnawarat44179c32020-03-11 14:51:27 +000036template class RefPadWorkload<DataType::BFloat16>;
Mohamed Nour Abouelseouddd6acea2018-10-18 12:26:19 +010037template class RefPadWorkload<DataType::Float32>;
Matthew Jackson252df3a2019-09-11 09:19:18 +010038template class RefPadWorkload<DataType::Float16>;
Derek Lambertif90c56d2020-01-10 17:14:08 +000039template class RefPadWorkload<DataType::QAsymmU8>;
40template class RefPadWorkload<DataType::QSymmS16>;
Mohamed Nour Abouelseouddd6acea2018-10-18 12:26:19 +010041
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +010042} //namespace armnn