aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorFrancis Murtagh <francis.murtagh@arm.com>2021-04-29 14:23:04 +0100
committerFrancis Murtagh <francis.murtagh@arm.com>2021-04-29 14:55:27 +0000
commit73d3e2e1616ba5dcdb0a190afba2463742bd4fcc (patch)
tree5e03f174a763c275d5874c804996048fb0b505ab /include
parent4df97eb257d3fc29b7431d9cb8a054b21d5a7448 (diff)
downloadarmnn-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')
-rw-r--r--include/armnn/IRuntime.hpp29
-rw-r--r--include/armnn/MemorySources.hpp10
-rw-r--r--include/armnn/Types.hpp9
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
{