diff options
author | Francis Murtagh <francis.murtagh@arm.com> | 2021-04-29 14:23:04 +0100 |
---|---|---|
committer | Francis Murtagh <francis.murtagh@arm.com> | 2021-04-29 14:55:27 +0000 |
commit | 73d3e2e1616ba5dcdb0a190afba2463742bd4fcc (patch) | |
tree | 5e03f174a763c275d5874c804996048fb0b505ab /include/armnn | |
parent | 4df97eb257d3fc29b7431d9cb8a054b21d5a7448 (diff) | |
download | armnn-73d3e2e1616ba5dcdb0a190afba2463742bd4fcc.tar.gz |
IVGCVSW-5819 5820 5821 Add MemorySourceFlags to TensorHandleFactoryRegistry::GetFactory
* Modify Layer::CreateTensorHandles to include MemorySource
* Modify INetworkProperties to add MemorySource
* Disable Neon/Cl fallback tests until full import implementation complete
Change-Id: Ia4fff6ea3d4bf6afca33aae358125ccaec7f9a38
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Diffstat (limited to 'include/armnn')
-rw-r--r-- | include/armnn/IRuntime.hpp | 29 | ||||
-rw-r--r-- | include/armnn/MemorySources.hpp | 10 | ||||
-rw-r--r-- | include/armnn/Types.hpp | 9 |
3 files changed, 36 insertions, 12 deletions
diff --git a/include/armnn/IRuntime.hpp b/include/armnn/IRuntime.hpp index fc203e67e4..55c57974dc 100644 --- a/include/armnn/IRuntime.hpp +++ b/include/armnn/IRuntime.hpp @@ -28,14 +28,35 @@ using IRuntimePtr = std::unique_ptr<IRuntime, void(*)(IRuntime* runtime)>; struct INetworkProperties { - INetworkProperties(bool importEnabled = false, bool exportEnabled = false, bool asyncEnabled = false) - : m_ImportEnabled(importEnabled), - m_ExportEnabled(exportEnabled), - m_AsyncEnabled(asyncEnabled) {} + ARMNN_DEPRECATED_MSG("Please use INetworkProperties constructor with MemorySource argument") + INetworkProperties(bool importEnabled = false, + bool exportEnabled = false, + bool asyncEnabled = false) + : m_ImportEnabled(importEnabled) + , m_ExportEnabled(exportEnabled) + , m_AsyncEnabled(asyncEnabled) + , m_InputSource(MemorySource::Undefined) + , m_OutputSource(MemorySource::Undefined) + {} + + INetworkProperties(bool asyncEnabled, + MemorySource m_InputSource, + MemorySource m_OutputSource) + : m_ImportEnabled(m_InputSource != MemorySource::Undefined) + , m_ExportEnabled(m_OutputSource != MemorySource::Undefined) + , m_AsyncEnabled(asyncEnabled) + , m_InputSource(m_InputSource) + , m_OutputSource(m_OutputSource) + {} + /// Deprecated and will be removed in future release. const bool m_ImportEnabled; + /// Deprecated and will be removed in future release. const bool m_ExportEnabled; + const bool m_AsyncEnabled; + const MemorySource m_InputSource; + const MemorySource m_OutputSource; virtual ~INetworkProperties() {} }; diff --git a/include/armnn/MemorySources.hpp b/include/armnn/MemorySources.hpp index 53890982d4..53746a3bc3 100644 --- a/include/armnn/MemorySources.hpp +++ b/include/armnn/MemorySources.hpp @@ -5,19 +5,13 @@ #pragma once +#include <armnn/Types.hpp> + #include <type_traits> namespace armnn { -enum class MemorySource -{ - Undefined = 0, - Malloc = 1, - DmaBuf = 2, - DmaBufProtected = 4 -}; - using MemorySourceFlags = unsigned int; template<typename T> diff --git a/include/armnn/Types.hpp b/include/armnn/Types.hpp index 2fd40b84dd..bc41003c57 100644 --- a/include/armnn/Types.hpp +++ b/include/armnn/Types.hpp @@ -182,6 +182,15 @@ enum class ShapeInferenceMethod InferAndValidate = 1 }; +/// Define the Memory Source to reduce copies +enum class MemorySource : uint32_t +{ + Undefined = 0, + Malloc = 1, + DmaBuf = 2, + DmaBufProtected = 4 +}; + /// Each backend should implement an IBackend. class IBackend { |