2020-04-07 07:02:52 -04:00
|
|
|
/*
|
2025-02-17 11:26:17 +00:00
|
|
|
* Copyright (C) 2020-2025 Intel Corporation
|
2020-04-07 07:02:52 -04:00
|
|
|
*
|
|
|
|
|
* SPDX-License-Identifier: MIT
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "shared/source/helpers/non_copyable_or_moveable.h"
|
|
|
|
|
|
|
|
|
|
#include "level_zero/tools/source/sysman/engine/engine.h"
|
|
|
|
|
#include "level_zero/tools/source/sysman/engine/os_engine.h"
|
2020-07-29 02:45:54 -07:00
|
|
|
#include <level_zero/zes_api.h>
|
2020-04-07 07:02:52 -04:00
|
|
|
namespace L0 {
|
2020-08-24 13:08:59 -04:00
|
|
|
|
2025-02-17 11:26:17 +00:00
|
|
|
class EngineImp : public Engine, NEO::NonCopyableAndNonMovableClass {
|
2020-04-07 07:02:52 -04:00
|
|
|
public:
|
2020-07-30 18:01:57 +05:30
|
|
|
ze_result_t engineGetProperties(zes_engine_properties_t *pProperties) override;
|
|
|
|
|
ze_result_t engineGetActivity(zes_engine_stats_t *pStats) override;
|
2023-07-21 08:11:35 +00:00
|
|
|
ze_result_t engineGetActivityExt(uint32_t *pCount, zes_engine_stats_t *pStats) override;
|
2020-07-30 18:01:57 +05:30
|
|
|
|
2020-04-21 06:34:51 -04:00
|
|
|
EngineImp() = default;
|
2022-11-14 09:44:08 +00:00
|
|
|
EngineImp(OsSysman *pOsSysman, zes_engine_group_t engineType, uint32_t engineInstance, uint32_t subDeviceId, ze_bool_t onSubdevice);
|
2020-04-07 07:02:52 -04:00
|
|
|
~EngineImp() override;
|
|
|
|
|
|
2023-03-10 19:00:55 +00:00
|
|
|
std::unique_ptr<OsEngine> pOsEngine = nullptr;
|
2020-08-24 13:08:59 -04:00
|
|
|
void init();
|
2020-04-21 06:34:51 -04:00
|
|
|
|
|
|
|
|
private:
|
2020-07-30 18:01:57 +05:30
|
|
|
zes_engine_properties_t engineProperties = {};
|
2020-04-07 07:02:52 -04:00
|
|
|
};
|
|
|
|
|
} // namespace L0
|