blob: 5134ac8bff6f353ec15d1783a345e05211c2cf06 [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
Narumol Prangnawarat44179c32020-03-11 14:51:27 +000033using RefPadBFloat16Workload = RefPadWorkload<DataType::BFloat16>;
Mohamed Nour Abouelseouddd6acea2018-10-18 12:26:19 +010034using RefPadFloat32Workload = RefPadWorkload<DataType::Float32>;
Matthew Jackson252df3a2019-09-11 09:19:18 +010035using RefPadFloat16Workload = RefPadWorkload<DataType::Float16>;
Derek Lambertif90c56d2020-01-10 17:14:08 +000036using RefPadQAsymm8Workload = RefPadWorkload<DataType::QAsymmU8>;
37using RefPadQSymm16Workload = RefPadWorkload<DataType::QSymmS16>;
Mohamed Nour Abouelseouddd6acea2018-10-18 12:26:19 +010038
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +010039} //namespace armnn