blob: 938fcf20043a50be482c7c18bbe1ebafccc4b020 [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
Mohamed Nour Abouelseouddd6acea2018-10-18 12:26:19 +01008#include <backends/Workload.hpp>
9#include <backends/WorkloadData.hpp>
10
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>;
34using RefPadUint8Workload = RefPadWorkload<DataType::QuantisedAsymm8>;
35
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +010036} //namespace armnn