Add Subdevice support for sysman scheduler API

Change-Id: I7b2222645d93346cfd3bfd3b6561dbe21154b61f
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
This commit is contained in:
Jitendra Sharma
2020-09-23 07:08:48 +05:30
committed by sys_ocldev
parent 52b785552b
commit 77f88f9a96
15 changed files with 114 additions and 33 deletions

View File

@@ -23,16 +23,18 @@ SchedulerHandleContext::~SchedulerHandleContext() {
}
handleList.clear();
}
void SchedulerHandleContext::createHandle(zes_engine_type_flag_t engineType, std::vector<std::string> &listOfEngines) {
Scheduler *pScheduler = new SchedulerImp(pOsSysman, engineType, listOfEngines);
void SchedulerHandleContext::createHandle(zes_engine_type_flag_t engineType, std::vector<std::string> &listOfEngines, ze_device_handle_t deviceHandle) {
Scheduler *pScheduler = new SchedulerImp(pOsSysman, engineType, listOfEngines, deviceHandle);
handleList.push_back(pScheduler);
}
void SchedulerHandleContext::init() {
std::map<zes_engine_type_flag_t, std::vector<std::string>> engineTypeInstance = {};
OsScheduler::getNumEngineTypeAndInstances(engineTypeInstance, pOsSysman);
for (auto itr = engineTypeInstance.begin(); itr != engineTypeInstance.end(); ++itr) {
createHandle(itr->first, itr->second);
void SchedulerHandleContext::init(std::vector<ze_device_handle_t> &deviceHandles) {
for (const auto &deviceHandle : deviceHandles) {
std::map<zes_engine_type_flag_t, std::vector<std::string>> engineTypeInstance = {};
OsScheduler::getNumEngineTypeAndInstances(engineTypeInstance, pOsSysman, deviceHandle);
for (auto itr = engineTypeInstance.begin(); itr != engineTypeInstance.end(); ++itr) {
createHandle(itr->first, itr->second, deviceHandle);
}
}
}