22 #include <unordered_map> 45 static std::unique_ptr<LoadedNetwork> MakeLoadedNetwork(std::unique_ptr<OptimizedNetwork> net,
46 std::string & errorMessage,
53 const std::shared_ptr<Profiler>&
GetProfiler()
const {
return m_Profiler; }
55 void FreeWorkingMemory();
59 void SendNetworkStructure();
62 void AllocateWorkingMemory();
72 bool Execute(std::unique_ptr<profiling::TimelineUtilityMethods>& timelineUtils,
78 using BackendPtrMap = std::unordered_map<BackendId, IBackendInternalUniquePtr>;
80 using WorkloadFactoryWithMemoryManager =
81 std::pair<IBackendInternal::IWorkloadFactoryPtr, IBackendInternal::IMemoryManagerSharedPtr>;
83 using WorkloadFactoryMap = std::unordered_map<BackendId, WorkloadFactoryWithMemoryManager>;
85 BackendPtrMap m_Backends;
86 WorkloadFactoryMap m_WorkloadFactories;
88 std::unique_ptr<OptimizedNetwork> m_OptimizedNetwork;
92 std::shared_ptr<Profiler> m_Profiler;
94 mutable std::mutex m_WorkingMemMutex;
96 bool m_IsWorkingMemAllocated=
false;
97 bool m_IsImportEnabled=
false;
98 bool m_IsExportEnabled=
false;
std::vector< std::unique_ptr< IWorkload > > WorkloadQueue
std::vector< std::pair< LayerBindingId, class ConstTensor > > InputTensors
const std::shared_ptr< Profiler > & GetProfiler() const
Copyright (c) 2020 ARM Limited.
std::function< void(LayerGuid guid, unsigned int slotIndex, ITensorHandle *tensorHandle)> DebugCallbackFunction
Define the type of callback for the Debug layer to call.
int LayerBindingId
Type of identifiers for bindable layers (inputs, outputs).
std::vector< std::pair< LayerBindingId, class Tensor > > OutputTensors
armnn::profiling::ProfilingService profilingService
TensorInfo GetInputTensorInfo(const Network *network)