blob: 05f6dde35fc15ab7c7c7b5a8fd0649695cad429d [file] [log] [blame]
telsoa014fcda012018-03-09 14:13:49 +00001//
2// 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#pragma once
6
7#include <armnn/Tensor.hpp>
telsoa014fcda012018-03-09 14:13:49 +00008
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +00009#include <backendsCommon/WorkloadInfo.hpp>
10
telsoa014fcda012018-03-09 14:13:49 +000011namespace armnn
12{
13class ITensorHandle;
14}
15
16template <typename QueueDescriptor>
17void AddInputToWorkload(QueueDescriptor& descriptor,
18 armnn::WorkloadInfo& info,
19 const armnn::TensorInfo& tensorInfo,
20 armnn::ITensorHandle* tensorHandle)
21{
22 descriptor.m_Inputs.push_back(tensorHandle);
23 info.m_InputTensorInfos.push_back(tensorInfo);
24}
25
26template <typename QueueDescriptor>
27void AddOutputToWorkload(QueueDescriptor& descriptor,
28 armnn::WorkloadInfo& info,
29 const armnn::TensorInfo& tensorInfo,
30 armnn::ITensorHandle* tensorHandle)
31{
32 descriptor.m_Outputs.push_back(tensorHandle);
33 info.m_OutputTensorInfos.push_back(tensorInfo);
34}
35
36template <typename QueueDescriptor>
37void SetWorkloadInput(QueueDescriptor& descriptor,
38 armnn::WorkloadInfo& info,
39 unsigned int index,
40 const armnn::TensorInfo& tensorInfo,
41 armnn::ITensorHandle* tensorHandle)
42{
43 descriptor.m_Inputs[index] = tensorHandle;
44 info.m_InputTensorInfos[index] = tensorInfo;
45}
46
47template <typename QueueDescriptor>
48void SetWorkloadOutput(QueueDescriptor& descriptor,
49 armnn::WorkloadInfo& info,
50 unsigned int index,
51 const armnn::TensorInfo& tensorInfo,
52 armnn::ITensorHandle* tensorHandle)
53{
54 descriptor.m_Outputs[index] = tensorHandle;
55 info.m_OutputTensorInfos[index] = tensorInfo;
56}