add support for multiple engines in scheduler API.

Change-Id: I2d530f88b8f4c8646c00ed712e5a07bb8439b759
Signed-off-by: Vilvaraj, T J Vivek <t.j.vivek.vilvaraj@intel.com>
This commit is contained in:
Vilvaraj, T J Vivek
2020-08-25 17:08:10 +05:30
committed by sys_ocldev
parent b93ad5e87f
commit f211578148
13 changed files with 547 additions and 158 deletions

View File

@@ -141,17 +141,11 @@ ze_result_t SchedulerImp::schedulerGetProperties(zes_sched_properties_t *pProper
}
void SchedulerImp::init() {
this->initSuccess = pOsScheduler->isSchedulerSupported();
properties.onSubdevice = false;
properties.canControl = pOsScheduler->canControlScheduler();
properties.engines = ZES_ENGINE_TYPE_FLAG_COMPUTE;
properties.supportedModes = (1 << ZES_SCHED_MODE_TIMEOUT) | (1 << ZES_SCHED_MODE_TIMESLICE) | (1 << ZES_SCHED_MODE_EXCLUSIVE);
pOsScheduler->getProperties(this->properties);
}
SchedulerImp::SchedulerImp(OsSysman *pOsSysman) {
if (pOsScheduler == nullptr) {
pOsScheduler = OsScheduler::create(pOsSysman);
}
SchedulerImp::SchedulerImp(OsSysman *pOsSysman, zes_engine_type_flag_t engineType, std::vector<std::string> &listOfEngines) {
pOsScheduler = OsScheduler::create(pOsSysman, engineType, listOfEngines);
UNRECOVERABLE_IF(nullptr == pOsScheduler);
init();
};