blob: 28fb55386e0f795a9e99594338e6bea5a8687f41 [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#pragma once
7
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +00008#include <backendsCommon/Workload.hpp>
9#include <backendsCommon/WorkloadData.hpp>
Mohamed Nour Abouelseouddd6acea2018-10-18 12:26:19 +010010
11#include <armnn/TypesUtils.hpp>
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +010012
13namespace armnn
14{
15
Mohamed Nour Abouelseouddd6acea2018-10-18 12:26:19 +010016template <armnn::DataType DataType>
17class RefPadWorkload : public TypedWorkload<PadQueueDescriptor, DataType>
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +010018{
19public:
Mohamed Nour Abouelseouddd6acea2018-10-18 12:26:19 +010020
21 static const std::string& GetName()
22 {
23 static const std::string name = std::string("RefPad") + GetDataTypeName(DataType) + "Workload";
24 return name;
25 }
26
27 using TypedWorkload<PadQueueDescriptor, DataType>::m_Data;
28 using TypedWorkload<PadQueueDescriptor, DataType>::TypedWorkload;
29
30 void Execute() const override;
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +010031};
32
Mohamed Nour Abouelseouddd6acea2018-10-18 12:26:19 +010033using RefPadFloat32Workload = RefPadWorkload<DataType::Float32>;
Matthew Jackson252df3a2019-09-11 09:19:18 +010034using RefPadFloat16Workload = RefPadWorkload<DataType::Float16>;
Derek Lambertif90c56d2020-01-10 17:14:08 +000035using RefPadQAsymm8Workload = RefPadWorkload<DataType::QAsymmU8>;
36using RefPadQSymm16Workload = RefPadWorkload<DataType::QSymmS16>;
Mohamed Nour Abouelseouddd6acea2018-10-18 12:26:19 +010037
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +010038} //namespace armnn