blob: 74dcab19673eafad67361af3cbb46d04edf041e1 [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>;
Sadik Armagan303980c2020-04-17 12:45:14 +010034using RefPadFloat32Workload = RefPadWorkload<DataType::Float32>;
35using RefPadFloat16Workload = RefPadWorkload<DataType::Float16>;
36using RefPadQAsymmS8Workload = RefPadWorkload<DataType::QAsymmS8>;
37using RefPadQAsymm8Workload = RefPadWorkload<DataType::QAsymmU8>;
38using RefPadQSymm16Workload = RefPadWorkload<DataType::QSymmS16>;
Mohamed Nour Abouelseouddd6acea2018-10-18 12:26:19 +010039
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +010040} //namespace armnn