blob: 99845f397f3dfe596aad074365cfbf66459315a4 [file] [log] [blame]
Laurent Carlier749294b2020-06-01 09:03:17 +01001//
Mike Kelly386ff1a2021-03-29 15:04:50 +01002// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
David Beckecb56cd2018-09-05 12:52:57 +01003// SPDX-License-Identifier: MIT
telsoa014fcda012018-03-09 14:13:49 +00004//
5#pragma once
6
David Beckac42efd2018-09-26 17:41:13 +01007#include "Workload.hpp"
telsoa01c577f2c2018-08-31 09:22:23 +01008#include "WorkloadUtils.hpp"
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +00009
James Conroy1f58f032021-04-27 17:13:27 +010010#include <armnn/backends/TensorHandleFwd.hpp>
Matteo Martincighe5b8eb92019-11-28 15:45:42 +000011
telsoa014fcda012018-03-09 14:13:49 +000012#include <utility>
13
14namespace armnn
15{
16
telsoa01c577f2c2018-08-31 09:22:23 +010017class CopyMemGenericWorkload : public BaseWorkload<MemCopyQueueDescriptor>
telsoa014fcda012018-03-09 14:13:49 +000018{
19public:
telsoa01c577f2c2018-08-31 09:22:23 +010020 CopyMemGenericWorkload(const MemCopyQueueDescriptor& descriptor, const WorkloadInfo& info);
telsoa014fcda012018-03-09 14:13:49 +000021 void Execute() const override;
Mike Kelly386ff1a2021-03-29 15:04:50 +010022 void ExecuteAsync(WorkingMemDescriptor& descriptor) override;
telsoa014fcda012018-03-09 14:13:49 +000023
24private:
telsoa01c577f2c2018-08-31 09:22:23 +010025 using TensorHandlePair = std::pair<const ITensorHandle*, ITensorHandle*>;
telsoa014fcda012018-03-09 14:13:49 +000026 std::vector<TensorHandlePair> m_TensorHandlePairs;
27};
28
telsoa01c577f2c2018-08-31 09:22:23 +010029} //namespace armnn