aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/LoadedNetwork.hpp
diff options
context:
space:
mode:
authorDavid Beck <david.beck@arm.com>2018-10-23 13:35:58 +0100
committerMatthew Bentham <matthew.bentham@arm.com>2018-10-25 09:49:58 +0100
commit29c75de868ac3a86a70b25f8da0d0c7e47d40803 (patch)
treedb8dd31d26622ca252f6e2d2c86c7e20a0829e9e /src/armnn/LoadedNetwork.hpp
parent5cc8e56b4ca8d58dc11973c49c10a02a2f13580c (diff)
downloadarmnn-29c75de868ac3a86a70b25f8da0d0c7e47d40803.tar.gz
IVGCVSW-2067 : dynamically create workload factories based on the backends in the network
Change-Id: Ide594db8c79ff67642721d8bad47624b88621fbd
Diffstat (limited to 'src/armnn/LoadedNetwork.hpp')
-rw-r--r--src/armnn/LoadedNetwork.hpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/armnn/LoadedNetwork.hpp b/src/armnn/LoadedNetwork.hpp
index 3deb8bc2e2..51eb04f3df 100644
--- a/src/armnn/LoadedNetwork.hpp
+++ b/src/armnn/LoadedNetwork.hpp
@@ -11,13 +11,12 @@
#include "LayerFwd.hpp"
#include "Profiling.hpp"
-#include <backends/reference/RefWorkloadFactory.hpp>
-#include <backends/neon/NeonWorkloadFactory.hpp>
-#include <backends/cl/ClWorkloadFactory.hpp>
+#include <backends/IBackendInternal.hpp>
#include <backends/Workload.hpp>
#include <backends/WorkloadFactory.hpp>
#include <mutex>
+#include <unordered_map>
namespace cl
{
@@ -62,9 +61,11 @@ private:
const IWorkloadFactory& GetWorkloadFactory(const Layer& layer) const;
- RefWorkloadFactory m_CpuRef;
- NeonWorkloadFactory m_CpuAcc;
- ClWorkloadFactory m_GpuAcc;
+ using BackendPtrMap = std::unordered_map<BackendId, IBackendInternalUniquePtr>;
+ using WorkloadFactoryMap = std::unordered_map<BackendId, IBackendInternal::IWorkloadFactoryPtr>;
+
+ BackendPtrMap m_Backends;
+ WorkloadFactoryMap m_WorkloadFactories;
std::unique_ptr<OptimizedNetwork> m_OptimizedNetwork;
WorkloadQueue m_InputQueue;