blob: 60dd2a927c447eb3f9bb9b8ade0789d2fe8457b4 [file] [log] [blame]
Laurent Carlier749294b2020-06-01 09:03:17 +01001//
telsoa014fcda012018-03-09 14:13:49 +00002// Copyright © 2017 Arm Ltd. All rights reserved.
David Beckecb56cd2018-09-05 12:52:57 +01003// SPDX-License-Identifier: MIT
telsoa014fcda012018-03-09 14:13:49 +00004//
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>
telsoa014fcda012018-03-09 14:13:49 +000010
11namespace armnn
12{
13
Finn Williams73c547d2022-02-15 20:47:34 +000014class RefBatchNormalizationWorkload : public RefBaseWorkload<BatchNormalizationQueueDescriptor>
telsoa014fcda012018-03-09 14:13:49 +000015{
16public:
Matteo Martincigh3122bd52019-06-03 16:54:25 +010017 explicit RefBatchNormalizationWorkload(const BatchNormalizationQueueDescriptor& descriptor,
18 const WorkloadInfo& info);
Finn Williamsb8181f72021-04-07 10:23:21 +010019 void Execute() const override;
20 void ExecuteAsync(WorkingMemDescriptor& workingMemDescriptor) override;
telsoa01c577f2c2018-08-31 09:22:23 +010021
22private:
Finn Williamsb8181f72021-04-07 10:23:21 +010023 void Execute(std::vector<ITensorHandle*> inputs, std::vector<ITensorHandle*> outputs) const;
James Conroy1f58f032021-04-27 17:13:27 +010024 std::unique_ptr<ScopedTensorHandle> m_Mean;
25 std::unique_ptr<ScopedTensorHandle> m_Variance;
26 std::unique_ptr<ScopedTensorHandle> m_Beta;
27 std::unique_ptr<ScopedTensorHandle> m_Gamma;
telsoa014fcda012018-03-09 14:13:49 +000028};
29
30} //namespace armnn