IVGCVSW-3307 Add RefMemoryManager
Simple pool memory manager for use in the reference backend,
in order to make the backend usable for testing large networks.
Change-Id: I5694da29052c60f95b57da595c64cc114d75b8ba
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
diff --git a/src/backends/reference/RefBackend.cpp b/src/backends/reference/RefBackend.cpp
index 0a296be..3680831 100644
--- a/src/backends/reference/RefBackend.cpp
+++ b/src/backends/reference/RefBackend.cpp
@@ -15,6 +15,7 @@
#include <Optimizer.hpp>
#include <boost/cast.hpp>
+#include <boost/polymorphic_pointer_cast.hpp>
namespace armnn
{
@@ -43,7 +44,7 @@
IBackendInternal::IWorkloadFactoryPtr RefBackend::CreateWorkloadFactory(
const IBackendInternal::IMemoryManagerSharedPtr& memoryManager) const
{
- return std::make_unique<RefWorkloadFactory>();
+ return std::make_unique<RefWorkloadFactory>(boost::polymorphic_pointer_downcast<RefMemoryManager>(memoryManager));
}
IBackendInternal::IBackendContextPtr RefBackend::CreateBackendContext(const IRuntime::CreationOptions&) const
@@ -53,7 +54,7 @@
IBackendInternal::IMemoryManagerUniquePtr RefBackend::CreateMemoryManager() const
{
- return IMemoryManagerUniquePtr{};
+ return std::make_unique<RefMemoryManager>();
}
IBackendInternal::Optimizations RefBackend::GetOptimizations() const