blob: a8a72ef65cd26bd4e12bc28deb5e1c9684abb7e3 [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
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +00008#include <backendsCommon/Workload.hpp>
9#include <backendsCommon/WorkloadData.hpp>
telsoa014fcda012018-03-09 14:13:49 +000010
11namespace armnn
12{
13
Matteo Martincigh3122bd52019-06-03 16:54:25 +010014class RefBatchNormalizationWorkload : public BaseWorkload<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;
telsoa01c577f2c2018-08-31 09:22:23 +010024 std::unique_ptr<ScopedCpuTensorHandle> m_Mean;
25 std::unique_ptr<ScopedCpuTensorHandle> m_Variance;
26 std::unique_ptr<ScopedCpuTensorHandle> m_Beta;
27 std::unique_ptr<ScopedCpuTensorHandle> m_Gamma;
telsoa014fcda012018-03-09 14:13:49 +000028};
29
30} //namespace armnn