aboutsummaryrefslogtreecommitdiff
path: root/src/armnn
diff options
context:
space:
mode:
authorMatteo Martincigh <matteo.martincigh@arm.com>2019-08-05 14:12:11 +0100
committerMatteo Martincigh <matteo.martincigh@arm.com>2019-08-09 08:49:22 +0100
commit0c2b2897cb65b562b97014ae748e91d8b9a3d3b4 (patch)
treef4833fedc412ab4c434ca3c4181389f54b6487d2 /src/armnn
parente54aa06ec19813b737513ecb8224285d98e871ba (diff)
downloadarmnn-0c2b2897cb65b562b97014ae748e91d8b9a3d3b4.tar.gz
IVGCVSW-3596 Register the dynamic backends in the BackendRegistry
* Added getter for the factory function in the DynamicBackend class * Added new RegisterDynamicBackends method in utils class * Added dynamic backend registration process in the Runtime class * Added new dummy dynamic backend objects for testing * Added unit tests for dynamic backend registration * Added convenience methods to BackendId Change-Id: I01e147d1d6f01bf56747ad946f73f867af5770c4 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Diffstat (limited to 'src/armnn')
-rw-r--r--src/armnn/Runtime.cpp6
-rw-r--r--src/armnn/Runtime.hpp8
2 files changed, 11 insertions, 3 deletions
diff --git a/src/armnn/Runtime.cpp b/src/armnn/Runtime.cpp
index 3505030273..ddfa6b4ffd 100644
--- a/src/armnn/Runtime.cpp
+++ b/src/armnn/Runtime.cpp
@@ -9,7 +9,6 @@
#include <backendsCommon/BackendRegistry.hpp>
#include <backendsCommon/IBackendContext.hpp>
#include <backendsCommon/DynamicBackendUtils.hpp>
-#include <backendsCommon/DynamicBackend.hpp>
#include <iostream>
@@ -253,7 +252,10 @@ void Runtime::LoadDynamicBackends(const std::string& overrideBackendPath)
std::vector<std::string> sharedObjects = DynamicBackendUtils::GetSharedObjects(backendPaths);
// Create a list of dynamic backends
- DynamicBackendUtils::CreateDynamicBackends(sharedObjects);
+ m_DynamicBackends = DynamicBackendUtils::CreateDynamicBackends(sharedObjects);
+
+ // Register the dynamic backends in the backend registry
+ DynamicBackendUtils::RegisterDynamicBackends(m_DynamicBackends);
}
} // namespace armnn
diff --git a/src/armnn/Runtime.hpp b/src/armnn/Runtime.hpp
index 624304ec0a..35684f1f78 100644
--- a/src/armnn/Runtime.hpp
+++ b/src/armnn/Runtime.hpp
@@ -6,11 +6,14 @@
#include "LoadedNetwork.hpp"
#include "DeviceSpec.hpp"
+
#include <armnn/INetwork.hpp>
#include <armnn/IRuntime.hpp>
#include <armnn/Tensor.hpp>
#include <armnn/BackendId.hpp>
+#include <backendsCommon/DynamicBackend.hpp>
+
#include <mutex>
#include <unordered_map>
@@ -100,6 +103,9 @@ private:
int m_NetworkIdCounter;
DeviceSpec m_DeviceSpec;
+
+ /// List of dynamic backends loaded in the runtime
+ std::vector<DynamicBackendPtr> m_DynamicBackends;
};
-}
+} // namespace armnn