ArmNN
 25.11
Loading...
Searching...
No Matches
SampleDynamicTensorHandleFactory.hpp
Go to the documentation of this file.
1//
2// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
9
11
12namespace sdb // sample dynamic backend
13{
14
15constexpr const char * SampleDynamicTensorHandleFactoryId() { return "Arm/SampleDynamic/TensorHandleFactory"; }
16
18{
19
20public:
21 SampleDynamicTensorHandleFactory(std::shared_ptr<SampleMemoryManager> mgr)
22 : m_MemoryManager(mgr),
23 m_ImportFlags(static_cast<armnn::MemorySourceFlags>(armnn::MemorySource::Malloc)),
24 m_ExportFlags(static_cast<armnn::MemorySourceFlags>(armnn::MemorySource::Malloc))
25 {}
26
27 std::unique_ptr<armnn::ITensorHandle> CreateSubTensorHandle(armnn::ITensorHandle& parent,
28 armnn::TensorShape const& subTensorShape,
29 unsigned int const* subTensorOrigin) const override;
30
31 std::unique_ptr<armnn::ITensorHandle> CreateTensorHandle(const armnn::TensorInfo& tensorInfo) const override;
32
33 std::unique_ptr<armnn::ITensorHandle> CreateTensorHandle(const armnn::TensorInfo& tensorInfo,
34 armnn::DataLayout dataLayout) const override;
35
36 std::unique_ptr<armnn::ITensorHandle> CreateTensorHandle(const armnn::TensorInfo& tensorInfo,
37 const bool IsMemoryManaged) const override;
38
39 std::unique_ptr<armnn::ITensorHandle> CreateTensorHandle(const armnn::TensorInfo& tensorInfo,
40 armnn::DataLayout dataLayout,
41 const bool IsMemoryManaged) const override;
42
43 static const FactoryId& GetIdStatic();
44
45 const FactoryId& GetId() const override;
46
47 bool SupportsSubTensors() const override;
48
50
52
53private:
54 mutable std::shared_ptr<SampleMemoryManager> m_MemoryManager;
55 armnn::MemorySourceFlags m_ImportFlags;
56 armnn::MemorySourceFlags m_ExportFlags;
57};
58
59} // namespace sdb
60
armnn::MemorySourceFlags GetExportFlags() const override
SampleDynamicTensorHandleFactory(std::shared_ptr< SampleMemoryManager > mgr)
std::unique_ptr< armnn::ITensorHandle > CreateSubTensorHandle(armnn::ITensorHandle &parent, armnn::TensorShape const &subTensorShape, unsigned int const *subTensorOrigin) const override
std::unique_ptr< armnn::ITensorHandle > CreateTensorHandle(const armnn::TensorInfo &tensorInfo) const override
armnn::MemorySourceFlags GetImportFlags() const override
Copyright (c) 2021 ARM Limited and Contributors.
unsigned int MemorySourceFlags
DataLayout
Definition Types.hpp:63
armnn::ITensorHandleFactory::FactoryId FactoryId
constexpr const char * SampleDynamicTensorHandleFactoryId()