aboutsummaryrefslogtreecommitdiff
path: root/include/armnn/backends/WorkloadInfo.hpp
blob: a7a1e1e81a944a3aaddfec254e41f2af995c10c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//
// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
#pragma once

#include <armnn/Tensor.hpp>

#include <vector>

namespace armnn
{

/// Contains information about TensorInfos of a layer.
/// This is needed at construction of workloads, but are not stored.
struct WorkloadInfo
{
    std::vector<TensorInfo> m_InputTensorInfos;
    std::vector<TensorInfo> m_OutputTensorInfos;
    Optional<TensorInfo> m_WeightsTensorInfo = EmptyOptional();
    Optional<TensorInfo> m_BiasTensorInfo = EmptyOptional();
    Optional<std::string> m_ConvolutionMethod = EmptyOptional();
};

struct MemoryInfo
{
    unsigned int   m_OutputSlotIndex;
    size_t         m_Size{ 0 };
    size_t         m_Alignment{ 64 };
};

struct MemoryRequirements
{
    armnn::Optional<std::vector<MemoryInfo>> m_IntraLayerTensors;
};

} //namespace armnn