From 84da38b0f11ca3db0a439e510514be780f3933ff Mon Sep 17 00:00:00 2001 From: Derek Lamberti Date: Thu, 13 Jun 2019 11:40:08 +0100 Subject: IVGCVSW-3277 Refactor TensorHandle factory API * Added backend support for multiple types of TensorHandle factories * Refactored the backend API to enable new tensor strategies * Added mechanism to determine memory strategies during optimization * Perform mem-copy only when Direct access is not found * Explicitly deleted the copy-constructor from OutputSlot to prevent accidental local copies that would cause the DisconnectAll to be called by the destructor Change-Id: I7e812c8e5e6c1c20db1c5932749ac70fd93db7f8 Signed-off-by: Derek Lamberti Signed-off-by: Matteo Martincigh --- src/armnn/Network.hpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/armnn/Network.hpp') diff --git a/src/armnn/Network.hpp b/src/armnn/Network.hpp index b90e3c2f8d..8db968a3f9 100644 --- a/src/armnn/Network.hpp +++ b/src/armnn/Network.hpp @@ -13,6 +13,7 @@ #include #include +#include #include #include "Layer.hpp" @@ -229,4 +230,27 @@ private: std::unique_ptr m_Graph; }; + + +struct OptimizationResult +{ + bool m_Warning; + bool m_Error; + + OptimizationResult() + : m_Warning(false) + , m_Error(false) + {} +}; + +using BackendsMap = std::map>; + +BackendsMap CreateSupportedBackends(TensorHandleFactoryRegistry& handleFactoryRegistry, + struct BackendSettings& backendSettings); + +OptimizationResult SelectTensorHandleStrategy(Graph& optGraph, + BackendsMap& backends, + TensorHandleFactoryRegistry& registry, + Optional&> errMessages); + } // namespace armnn -- cgit v1.2.1