21 #include <unordered_map> 44 static std::unique_ptr<LoadedNetwork> MakeLoadedNetwork(std::unique_ptr<OptimizedNetwork> net,
45 std::string & errorMessage,
51 const std::shared_ptr<Profiler>&
GetProfiler()
const {
return m_Profiler; }
53 void FreeWorkingMemory();
58 void AllocateWorkingMemory();
66 bool Execute(std::unique_ptr<profiling::TimelineUtilityMethods>& timelineUtils,
72 using BackendPtrMap = std::unordered_map<BackendId, IBackendInternalUniquePtr>;
74 using WorkloadFactoryWithMemoryManager =
75 std::pair<IBackendInternal::IWorkloadFactoryPtr, IBackendInternal::IMemoryManagerSharedPtr>;
77 using WorkloadFactoryMap = std::unordered_map<BackendId, WorkloadFactoryWithMemoryManager>;
79 BackendPtrMap m_Backends;
80 WorkloadFactoryMap m_WorkloadFactories;
82 std::unique_ptr<OptimizedNetwork> m_OptimizedNetwork;
86 std::shared_ptr<Profiler> m_Profiler;
88 mutable std::mutex m_WorkingMemMutex;
90 bool m_IsWorkingMemAllocated=
false;
91 bool m_IsImportEnabled=
false;
92 bool m_IsExportEnabled=
false;
std::vector< std::unique_ptr< IWorkload > > WorkloadQueue
std::vector< std::pair< LayerBindingId, class Tensor > > OutputTensors
const std::shared_ptr< Profiler > & GetProfiler() const
TensorInfo GetInputTensorInfo(const Network *network)
std::function< void(LayerGuid guid, unsigned int slotIndex, ITensorHandle *tensorHandle)> DebugCallbackFunction
std::vector< std::pair< LayerBindingId, class ConstTensor > > InputTensors
int LayerBindingId
Type of identifiers for bindable layers (inputs, outputs).