IVGCVSW-6527 Support the new memory API in loaded network
* enable external memory management for neon and ref backends
* change m_TensorMemoryVector to hold shared pointers
* change input layer backend Id to match backend id of connected layer
Signed-off-by: Finn Williams <finn.williams@arm.com>
Change-Id: I2216a724028312eb101b290df3f224177826b1a0
diff --git a/include/armnn/IRuntime.hpp b/include/armnn/IRuntime.hpp
index 93f8b0f..bdfd9b2 100644
--- a/include/armnn/IRuntime.hpp
+++ b/include/armnn/IRuntime.hpp
@@ -43,7 +43,8 @@
m_ProfilingEnabled(profilingEnabled),
m_OutputNetworkDetailsMethod(ProfilingDetailsMethod::Undefined),
m_InputSource(m_ImportEnabled ? MemorySource::Malloc : MemorySource::Undefined),
- m_OutputSource(m_ExportEnabled ? MemorySource::Malloc : MemorySource::Undefined)
+ m_OutputSource(m_ExportEnabled ? MemorySource::Malloc : MemorySource::Undefined),
+ m_ExternalMemoryManagementEnabled(false)
{}
ARMNN_DEPRECATED_MSG_REMOVAL_DATE("Please use INetworkProperties constructor without numThreads argument", "22.02")
@@ -58,7 +59,8 @@
m_ProfilingEnabled(profilingEnabled),
m_OutputNetworkDetailsMethod(ProfilingDetailsMethod::Undefined),
m_InputSource(inputSource),
- m_OutputSource(outputSource)
+ m_OutputSource(outputSource),
+ m_ExternalMemoryManagementEnabled(false)
{
armnn::IgnoreUnused(numThreads);
}
@@ -67,14 +69,16 @@
MemorySource inputSource,
MemorySource outputSource,
bool profilingEnabled = false,
- ProfilingDetailsMethod detailsMethod = ProfilingDetailsMethod::Undefined)
+ ProfilingDetailsMethod detailsMethod = ProfilingDetailsMethod::Undefined,
+ bool externalMemoryManagementEnabled = false)
: m_ImportEnabled(inputSource != MemorySource::Undefined),
m_ExportEnabled(outputSource != MemorySource::Undefined),
m_AsyncEnabled(asyncEnabled),
m_ProfilingEnabled(profilingEnabled),
m_OutputNetworkDetailsMethod(detailsMethod),
m_InputSource(inputSource),
- m_OutputSource(outputSource)
+ m_OutputSource(outputSource),
+ m_ExternalMemoryManagementEnabled(externalMemoryManagementEnabled)
{}
/// Deprecated and will be removed in future release.
@@ -91,6 +95,8 @@
const MemorySource m_InputSource;
const MemorySource m_OutputSource;
+ const bool m_ExternalMemoryManagementEnabled;
+
virtual ~INetworkProperties() {}
};