13 #include <unordered_map>
26 class ExecutorManagerImpl {
33 size_t getExecutorsNumber();
36 size_t getIdleCPUStreamsExecutorsNumber();
38 void clear(
const std::string&
id = {});
41 std::unordered_map<std::string, ITaskExecutor::Ptr> executors;
42 std::vector<std::pair<IStreamsExecutor::Config, IStreamsExecutor::Ptr> > cpuStreamsExecutors;
43 std::mutex streamExecutorMutex;
44 std::mutex taskExecutorMutex;
58 class INFERENCE_ENGINE_API_CLASS(ExecutorManager) {
89 size_t getExecutorsNumber();
91 size_t getIdleCPUStreamsExecutorsNumber();
93 void clear(
const std::string&
id = {});
101 ExecutorManagerImpl _impl;
103 static std::mutex _mutex;
104 static ExecutorManager *_instance;
This is global point for getting task executor objects by string id. It's necessary in multiple async...
Definition: ie_executor_manager.hpp:58
static ExecutorManager * getInstance()
Returns a global instance of ExecutorManager.
ITaskExecutor::Ptr getExecutor(std::string id)
Returns executor by unique identificator.
ExecutorManager(ExecutorManager const &)=delete
A deleted copy constructor.
void operator=(ExecutorManager const &)=delete
A deleted assignment operator.
std::shared_ptr< IStreamsExecutor > Ptr
Definition: ie_istreams_executor.hpp:36
std::shared_ptr< ITaskExecutor > Ptr
Definition: ie_itask_executor.hpp:51
A header file for Inference Engine Streams-based Executor Interface.
A header file for Inference Engine Task Executor Interface.
Inference Engine Plugin API namespace.
Defines IStreamsExecutor configuration.
Definition: ie_istreams_executor.hpp:52