blob: e2f701a33b269063d8ebdb5d5e318c0449fcbb4a [file] [log] [blame]
narpra01db2b1602019-01-23 15:23:11 +00001//
Matthew Sloyan2d213a72022-06-30 17:13:04 +01002// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
narpra01db2b1602019-01-23 15:23:11 +00003// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
Finn Williams73c547d2022-02-15 20:47:34 +00008#include "RefBaseWorkload.hpp"
Colm Donelan0c479742021-12-10 12:43:54 +00009#include <armnn/backends/WorkloadData.hpp>
narpra01db2b1602019-01-23 15:23:11 +000010
11#include <armnn/Types.hpp>
12
13namespace armnn
14{
15
16// Base class template providing an implementation of the Constant layer common to all data types.
Finn Williams73c547d2022-02-15 20:47:34 +000017class RefConstantWorkload : public RefBaseWorkload<ConstantQueueDescriptor>
narpra01db2b1602019-01-23 15:23:11 +000018{
19public:
Nina Drozd58ef2c62019-05-16 12:09:18 +010020 RefConstantWorkload(const ConstantQueueDescriptor& descriptor, const WorkloadInfo& info);
narpra01db2b1602019-01-23 15:23:11 +000021
Finn Williamsb8181f72021-04-07 10:23:21 +010022 void Execute() const override;
Matthew Sloyan2d213a72022-06-30 17:13:04 +010023 void ExecuteAsync(ExecutionData& executionData) override;
Finn Williamsb8181f72021-04-07 10:23:21 +010024private:
25 void Execute(std::vector<ITensorHandle*> outputs) const;
narpra01db2b1602019-01-23 15:23:11 +000026};
27
narpra01db2b1602019-01-23 15:23:11 +000028} //namespace armnn