mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-19 06:24:51 +08:00
feature: update base layout of L0 handles to match ze_handle_t layout
this layout is required by L0 DDI Handle extension Related-To: NEO-13121, NEO-13917 Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
f760731173
commit
2394f9fd91
@@ -6,59 +6,46 @@
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include <level_zero/zes_api.h>
|
||||
#include "level_zero/core/source/helpers/api_handle_helper.h"
|
||||
|
||||
struct _zes_fabric_port_handle_t {
|
||||
virtual ~_zes_fabric_port_handle_t() = default;
|
||||
};
|
||||
struct _zes_fabric_port_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zes_fabric_port_handle_t>);
|
||||
|
||||
struct _zes_mem_handle_t {
|
||||
virtual ~_zes_mem_handle_t() = default;
|
||||
};
|
||||
struct _zes_mem_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zes_mem_handle_t>);
|
||||
|
||||
struct _zes_pwr_handle_t {
|
||||
virtual ~_zes_pwr_handle_t() = default;
|
||||
};
|
||||
struct _zes_pwr_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zes_pwr_handle_t>);
|
||||
|
||||
struct _zes_engine_handle_t {
|
||||
virtual ~_zes_engine_handle_t() = default;
|
||||
};
|
||||
struct _zes_engine_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zes_engine_handle_t>);
|
||||
|
||||
struct _zes_freq_handle_t {
|
||||
virtual ~_zes_freq_handle_t() = default;
|
||||
};
|
||||
struct _zes_freq_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zes_freq_handle_t>);
|
||||
|
||||
struct _zes_sched_handle_t {
|
||||
virtual ~_zes_sched_handle_t() = default;
|
||||
};
|
||||
struct _zes_sched_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zes_sched_handle_t>);
|
||||
|
||||
struct _zes_firmware_handle_t {
|
||||
virtual ~_zes_firmware_handle_t() = default;
|
||||
};
|
||||
struct _zes_firmware_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zes_firmware_handle_t>);
|
||||
|
||||
struct _zes_diag_handle_t {
|
||||
virtual ~_zes_diag_handle_t() = default;
|
||||
};
|
||||
struct _zes_diag_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zes_diag_handle_t>);
|
||||
|
||||
struct _zes_ras_handle_t {
|
||||
virtual ~_zes_ras_handle_t() = default;
|
||||
};
|
||||
struct _zes_ras_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zes_ras_handle_t>);
|
||||
|
||||
struct _zes_standby_handle_t {
|
||||
virtual ~_zes_standby_handle_t() = default;
|
||||
};
|
||||
struct _zes_standby_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zes_standby_handle_t>);
|
||||
|
||||
struct _zes_temp_handle_t {
|
||||
virtual ~_zes_temp_handle_t() = default;
|
||||
};
|
||||
struct _zes_perf_handle_t {
|
||||
virtual ~_zes_perf_handle_t() = default;
|
||||
};
|
||||
struct _zes_temp_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zes_temp_handle_t>);
|
||||
|
||||
struct _zes_fan_handle_t {
|
||||
virtual ~_zes_fan_handle_t() = default;
|
||||
};
|
||||
struct _zes_perf_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zes_perf_handle_t>);
|
||||
|
||||
struct _zes_vf_handle_t {
|
||||
virtual ~_zes_vf_handle_t() = default;
|
||||
};
|
||||
struct _zes_fan_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zes_fan_handle_t>);
|
||||
|
||||
struct _zes_vf_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zes_vf_handle_t>);
|
||||
@@ -30,10 +30,8 @@
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
|
||||
struct _ze_command_list_handle_t {
|
||||
const uint64_t objMagic = objMagicValue;
|
||||
static const zel_handle_type_t handleType = ZEL_HANDLE_COMMAND_LIST;
|
||||
};
|
||||
struct _ze_command_list_handle_t : BaseHandleWithLoaderTranslation<ZEL_HANDLE_COMMAND_LIST> {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_ze_command_list_handle_t>);
|
||||
|
||||
namespace NEO {
|
||||
class ScratchSpaceController;
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
#include <mutex>
|
||||
#include <vector>
|
||||
|
||||
struct _ze_command_queue_handle_t {
|
||||
};
|
||||
struct _ze_command_queue_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_ze_command_queue_handle_t>);
|
||||
|
||||
namespace NEO {
|
||||
class CommandStreamReceiver;
|
||||
|
||||
@@ -14,11 +14,8 @@
|
||||
#include <level_zero/ze_api.h>
|
||||
#include <level_zero/zet_api.h>
|
||||
|
||||
struct _ze_context_handle_t {
|
||||
const uint64_t objMagic = objMagicValue;
|
||||
static const zel_handle_type_t handleType = ZEL_HANDLE_CONTEXT;
|
||||
virtual ~_ze_context_handle_t() = default;
|
||||
};
|
||||
struct _ze_context_handle_t : BaseHandleWithLoaderTranslation<ZEL_HANDLE_CONTEXT> {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_ze_context_handle_t>);
|
||||
|
||||
namespace NEO {
|
||||
class Device;
|
||||
@@ -46,7 +43,7 @@ struct Context : _ze_context_handle_t {
|
||||
return ZE_MEMORY_TYPE_UNKNOWN;
|
||||
}
|
||||
|
||||
~Context() override = default;
|
||||
virtual ~Context() = default;
|
||||
virtual ze_result_t destroy() = 0;
|
||||
virtual ze_result_t getStatus() = 0;
|
||||
virtual DriverHandle *getDriverHandle() = 0;
|
||||
|
||||
@@ -12,18 +12,15 @@
|
||||
#include "shared/source/utilities/tag_allocator.h"
|
||||
|
||||
#include "level_zero/core/source/helpers/api_handle_helper.h"
|
||||
#include <level_zero/ze_api.h>
|
||||
#include <level_zero/zet_api.h>
|
||||
|
||||
#include <memory>
|
||||
#include <mutex>
|
||||
|
||||
static_assert(NEO::ProductHelper::uuidSize == ZE_MAX_DEVICE_UUID_SIZE);
|
||||
|
||||
struct _ze_device_handle_t {
|
||||
const uint64_t objMagic = objMagicValue;
|
||||
static const zel_handle_type_t handleType = ZEL_HANDLE_DEVICE;
|
||||
};
|
||||
struct _ze_device_handle_t : BaseHandleWithLoaderTranslation<ZEL_HANDLE_DEVICE> {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_ze_device_handle_t>);
|
||||
|
||||
namespace NEO {
|
||||
class CommandStreamReceiver;
|
||||
class DebuggerL0;
|
||||
|
||||
@@ -90,7 +90,7 @@ void DriverImp::initialize(ze_result_t *result) {
|
||||
}
|
||||
if (*result != ZE_RESULT_SUCCESS) {
|
||||
for (auto &driverHandle : *globalDriverHandles) {
|
||||
delete driverHandle;
|
||||
delete static_cast<BaseDriver *>(driverHandle);
|
||||
}
|
||||
globalDriverHandles->clear();
|
||||
} else if (envVariables.pin) {
|
||||
|
||||
@@ -10,18 +10,13 @@
|
||||
#include "shared/source/helpers/non_copyable_or_moveable.h"
|
||||
|
||||
#include "level_zero/core/source/helpers/api_handle_helper.h"
|
||||
#include <level_zero/ze_api.h>
|
||||
#include <level_zero/zes_api.h>
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
struct _ze_driver_handle_t {
|
||||
const uint64_t objMagic = objMagicValue;
|
||||
static const zel_handle_type_t handleType = ZEL_HANDLE_DRIVER;
|
||||
virtual ~_ze_driver_handle_t() = default;
|
||||
};
|
||||
struct _ze_driver_handle_t : BaseHandleWithLoaderTranslation<ZEL_HANDLE_DRIVER> {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_ze_driver_handle_t>);
|
||||
|
||||
namespace NEO {
|
||||
class Device;
|
||||
@@ -36,6 +31,7 @@ struct Device;
|
||||
struct L0EnvVariables;
|
||||
|
||||
struct BaseDriver : _ze_driver_handle_t {
|
||||
virtual ~BaseDriver() = default;
|
||||
virtual ze_result_t getExtensionFunctionAddress(const char *pFuncName, void **pfunc) = 0;
|
||||
static BaseDriver *fromHandle(ze_driver_handle_t handle) { return static_cast<BaseDriver *>(handle); }
|
||||
};
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
#include "shared/source/os_interface/os_time.h"
|
||||
|
||||
#include "level_zero/core/source/helpers/api_handle_helper.h"
|
||||
#include <level_zero/ze_api.h>
|
||||
|
||||
#include <atomic>
|
||||
#include <bitset>
|
||||
@@ -25,12 +24,11 @@
|
||||
#include <mutex>
|
||||
#include <vector>
|
||||
|
||||
struct _ze_event_handle_t {
|
||||
const uint64_t objMagic = objMagicValue;
|
||||
static const zel_handle_type_t handleType = ZEL_HANDLE_EVENT;
|
||||
};
|
||||
struct _ze_event_handle_t : BaseHandleWithLoaderTranslation<ZEL_HANDLE_EVENT> {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_ze_event_handle_t>);
|
||||
|
||||
struct _ze_event_pool_handle_t {};
|
||||
struct _ze_event_pool_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_ze_event_pool_handle_t>);
|
||||
|
||||
namespace NEO {
|
||||
class CommandStreamReceiver;
|
||||
|
||||
@@ -8,14 +8,16 @@
|
||||
#pragma once
|
||||
|
||||
#include "level_zero/core/source/fabric/fabric_device_interface.h"
|
||||
#include <level_zero/ze_api.h>
|
||||
#include "level_zero/core/source/helpers/api_handle_helper.h"
|
||||
|
||||
#include <map>
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
struct _ze_fabric_vertex_handle_t {};
|
||||
struct _ze_fabric_edge_handle_t {};
|
||||
struct _ze_fabric_vertex_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_ze_fabric_vertex_handle_t>);
|
||||
struct _ze_fabric_edge_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_ze_fabric_edge_handle_t>);
|
||||
|
||||
namespace L0 {
|
||||
struct Device;
|
||||
|
||||
@@ -10,12 +10,13 @@
|
||||
#include "shared/source/command_stream/task_count_helper.h"
|
||||
#include "shared/source/helpers/constants.h"
|
||||
|
||||
#include <level_zero/ze_api.h>
|
||||
#include "level_zero/core/source/helpers/api_handle_helper.h"
|
||||
|
||||
#include <chrono>
|
||||
#include <limits>
|
||||
|
||||
struct _ze_fence_handle_t {};
|
||||
struct _ze_fence_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_ze_fence_handle_t>);
|
||||
|
||||
namespace L0 {
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ void globalDriverTeardown() {
|
||||
if (globalDriver != nullptr) {
|
||||
|
||||
if (globalDriver->pid == NEO::SysCalls::getCurrentProcessId()) {
|
||||
delete globalDriver;
|
||||
delete static_cast<BaseDriver *>(globalDriver);
|
||||
}
|
||||
globalDriver = nullptr;
|
||||
}
|
||||
|
||||
@@ -6,12 +6,18 @@
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "level_zero/ddi/ze_ddi_tables.h"
|
||||
#include <level_zero/loader/ze_loader.h>
|
||||
#include <level_zero/ze_ddi.h>
|
||||
#include <level_zero/ze_ddi_common.h>
|
||||
#include <level_zero/zes_ddi.h>
|
||||
#include <level_zero/zet_ddi.h>
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
namespace L0 {
|
||||
extern decltype(&zelLoaderTranslateHandle) loaderTranslateHandleFunc;
|
||||
}
|
||||
} // namespace L0
|
||||
|
||||
constexpr uint64_t objMagicValue = 0x8D7E6A5D4B3E2E1FULL;
|
||||
|
||||
@@ -30,3 +36,23 @@ inline T toInternalType(T input) {
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
struct BaseHandle : ze_handle_t {
|
||||
BaseHandle() {
|
||||
pCore = &L0::globalDriverDispatch.core;
|
||||
pTools = &L0::globalDriverDispatch.tools;
|
||||
pSysman = &L0::globalDriverDispatch.sysman;
|
||||
}
|
||||
};
|
||||
|
||||
template <zel_handle_type_t hType>
|
||||
struct BaseHandleWithLoaderTranslation : BaseHandle {
|
||||
uint64_t objMagic = objMagicValue;
|
||||
static const zel_handle_type_t handleType = hType;
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
concept IsCompliantWithDdiHandlesExt = offsetof(T, pCore) ==
|
||||
offsetof(ze_handle_t, pCore) &&
|
||||
offsetof(T, pTools) == offsetof(ze_handle_t, pTools) &&
|
||||
offsetof(T, pSysman) == offsetof(ze_handle_t, pSysman);
|
||||
@@ -8,12 +8,9 @@
|
||||
#pragma once
|
||||
|
||||
#include "level_zero/core/source/helpers/api_handle_helper.h"
|
||||
#include <level_zero/ze_api.h>
|
||||
|
||||
struct _ze_image_handle_t {
|
||||
const uint64_t objMagic = objMagicValue;
|
||||
static const zel_handle_type_t handleType = ZEL_HANDLE_IMAGE;
|
||||
};
|
||||
struct _ze_image_handle_t : BaseHandleWithLoaderTranslation<ZEL_HANDLE_IMAGE> {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_ze_image_handle_t>);
|
||||
|
||||
namespace NEO {
|
||||
struct ImageInfo;
|
||||
|
||||
@@ -14,16 +14,12 @@
|
||||
#include "shared/source/unified_memory/unified_memory.h"
|
||||
|
||||
#include "level_zero/core/source/helpers/api_handle_helper.h"
|
||||
#include <level_zero/ze_api.h>
|
||||
#include <level_zero/zet_api.h>
|
||||
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
struct _ze_kernel_handle_t {
|
||||
const uint64_t objMagic = objMagicValue;
|
||||
static const zel_handle_type_t handleType = ZEL_HANDLE_KERNEL;
|
||||
};
|
||||
struct _ze_kernel_handle_t : BaseHandleWithLoaderTranslation<ZEL_HANDLE_KERNEL> {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_ze_kernel_handle_t>);
|
||||
|
||||
namespace NEO {
|
||||
class Device;
|
||||
|
||||
@@ -9,12 +9,13 @@
|
||||
|
||||
#include "shared/source/helpers/non_copyable_or_moveable.h"
|
||||
|
||||
#include <level_zero/ze_api.h>
|
||||
#include "level_zero/core/source/helpers/api_handle_helper.h"
|
||||
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
struct _ze_module_handle_t {};
|
||||
struct _ze_module_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_ze_module_handle_t>);
|
||||
|
||||
namespace NEO {
|
||||
struct KernelDescriptor;
|
||||
|
||||
@@ -9,9 +9,10 @@
|
||||
|
||||
#include "shared/source/helpers/non_copyable_or_moveable.h"
|
||||
|
||||
#include <level_zero/ze_api.h>
|
||||
#include "level_zero/core/source/helpers/api_handle_helper.h"
|
||||
|
||||
struct _ze_module_build_log_handle_t {};
|
||||
struct _ze_module_build_log_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_ze_module_build_log_handle_t>);
|
||||
|
||||
namespace L0 {
|
||||
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "level_zero/core/source/helpers/api_handle_helper.h"
|
||||
|
||||
#include <level_zero/ze_api.h>
|
||||
|
||||
struct _ze_sampler_handle_t {};
|
||||
struct _ze_sampler_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_ze_sampler_handle_t>);
|
||||
|
||||
namespace L0 {
|
||||
struct Device;
|
||||
|
||||
@@ -1217,7 +1217,7 @@ struct GtPinInitTest : public ::testing::Test {
|
||||
void TearDown() override {
|
||||
delete MockOsLibrary::loadLibraryNewObject;
|
||||
for (auto &driverHandle : *globalDriverHandles) {
|
||||
delete driverHandle;
|
||||
delete static_cast<BaseDriver *>(driverHandle);
|
||||
}
|
||||
delete globalDriverHandles;
|
||||
globalDriverHandles = nullptr;
|
||||
|
||||
@@ -7,9 +7,10 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <level_zero/zet_api.h>
|
||||
#include "level_zero/core/source/helpers/api_handle_helper.h"
|
||||
|
||||
struct _zet_tracer_exp_handle_t {};
|
||||
struct _zet_tracer_exp_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zet_tracer_exp_handle_t>);
|
||||
|
||||
namespace L0 {
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ struct OsSysman;
|
||||
|
||||
class Diagnostics : _zes_diag_handle_t {
|
||||
public:
|
||||
~Diagnostics() override {}
|
||||
virtual ~Diagnostics() = default;
|
||||
virtual ze_result_t diagnosticsGetProperties(zes_diag_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t diagnosticsGetTests(uint32_t *pCount, zes_diag_test_t *pTests) = 0;
|
||||
virtual ze_result_t diagnosticsRunTests(uint32_t start, uint32_t end, zes_diag_result_t *pResult) = 0;
|
||||
|
||||
@@ -21,6 +21,7 @@ struct OsSysman;
|
||||
|
||||
class Engine : _zes_engine_handle_t {
|
||||
public:
|
||||
virtual ~Engine() = default;
|
||||
virtual ze_result_t engineGetProperties(zes_engine_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t engineGetActivity(zes_engine_stats_t *pStats) = 0;
|
||||
virtual ze_result_t engineGetActivityExt(uint32_t *pCount, zes_engine_stats_t *pStats) = 0;
|
||||
|
||||
@@ -30,7 +30,7 @@ class FabricDevice {
|
||||
|
||||
class FabricPort : _zes_fabric_port_handle_t {
|
||||
public:
|
||||
~FabricPort() override = default;
|
||||
virtual ~FabricPort() = default;
|
||||
virtual ze_result_t fabricPortGetProperties(zes_fabric_port_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t fabricPortGetLinkType(zes_fabric_link_type_t *pLinkType) = 0;
|
||||
virtual ze_result_t fabricPortGetConfig(zes_fabric_port_config_t *pConfig) = 0;
|
||||
|
||||
@@ -18,6 +18,7 @@ namespace Sysman {
|
||||
struct OsSysman;
|
||||
class Fan : _zes_fan_handle_t {
|
||||
public:
|
||||
virtual ~Fan() = default;
|
||||
virtual ze_result_t fanGetProperties(zes_fan_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t fanGetConfig(zes_fan_config_t *pConfig) = 0;
|
||||
virtual ze_result_t fanSetDefaultMode() = 0;
|
||||
|
||||
@@ -19,7 +19,7 @@ struct OsSysman;
|
||||
|
||||
class Firmware : _zes_firmware_handle_t {
|
||||
public:
|
||||
~Firmware() override {}
|
||||
virtual ~Firmware() = default;
|
||||
virtual ze_result_t firmwareGetProperties(zes_firmware_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t firmwareFlash(void *pImage, uint32_t size) = 0;
|
||||
virtual ze_result_t firmwareGetFlashProgress(uint32_t *pCompletionPercent) = 0;
|
||||
|
||||
@@ -21,7 +21,7 @@ struct OsSysman;
|
||||
|
||||
class Frequency : _zes_freq_handle_t {
|
||||
public:
|
||||
~Frequency() override {}
|
||||
virtual ~Frequency() = default;
|
||||
|
||||
virtual ze_result_t frequencyGetProperties(zes_freq_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t frequencyGetAvailableClocks(uint32_t *pCount, double *phFrequency) = 0;
|
||||
|
||||
@@ -20,6 +20,7 @@ struct OsSysman;
|
||||
|
||||
class Memory : _zes_mem_handle_t {
|
||||
public:
|
||||
virtual ~Memory() = default;
|
||||
virtual ze_result_t memoryGetProperties(zes_mem_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t memoryGetBandwidth(zes_mem_bandwidth_t *pBandwidth) = 0;
|
||||
virtual ze_result_t memoryGetState(zes_mem_state_t *pState) = 0;
|
||||
|
||||
@@ -19,7 +19,7 @@ struct OsSysman;
|
||||
|
||||
class Performance : _zes_perf_handle_t {
|
||||
public:
|
||||
~Performance() override {}
|
||||
virtual ~Performance() = default;
|
||||
virtual ze_result_t performanceGetProperties(zes_perf_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t performanceGetConfig(double *pFactor) = 0;
|
||||
virtual ze_result_t performanceSetConfig(double pFactor) = 0;
|
||||
|
||||
@@ -18,6 +18,7 @@ namespace Sysman {
|
||||
struct OsSysman;
|
||||
class Power : _zes_pwr_handle_t {
|
||||
public:
|
||||
virtual ~Power() = default;
|
||||
virtual ze_result_t powerGetProperties(zes_power_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t powerGetEnergyCounter(zes_power_energy_counter_t *pEnergy) = 0;
|
||||
virtual ze_result_t powerGetLimits(zes_power_sustained_limit_t *pSustained, zes_power_burst_limit_t *pBurst, zes_power_peak_limit_t *pPeak) = 0;
|
||||
|
||||
@@ -20,6 +20,7 @@ struct OsSysman;
|
||||
|
||||
class Ras : _zes_ras_handle_t {
|
||||
public:
|
||||
virtual ~Ras() = default;
|
||||
virtual ze_result_t rasGetProperties(zes_ras_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t rasGetConfig(zes_ras_config_t *pConfig) = 0;
|
||||
virtual ze_result_t rasSetConfig(const zes_ras_config_t *pConfig) = 0;
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace Sysman {
|
||||
struct OsSysman;
|
||||
class Scheduler : _zes_sched_handle_t {
|
||||
public:
|
||||
virtual ~Scheduler() = default;
|
||||
virtual ze_result_t schedulerGetProperties(zes_sched_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t getCurrentMode(zes_sched_mode_t *pMode) = 0;
|
||||
virtual ze_result_t getTimeoutModeProperties(ze_bool_t getDefaults, zes_sched_timeout_properties_t *pConfig) = 0;
|
||||
|
||||
@@ -20,7 +20,7 @@ struct OsSysman;
|
||||
|
||||
class Standby : _zes_standby_handle_t {
|
||||
public:
|
||||
~Standby() override {}
|
||||
virtual ~Standby() = default;
|
||||
virtual ze_result_t standbyGetProperties(zes_standby_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t standbyGetMode(zes_standby_promo_mode_t *pMode) = 0;
|
||||
virtual ze_result_t standbySetMode(const zes_standby_promo_mode_t mode) = 0;
|
||||
|
||||
@@ -19,6 +19,7 @@ namespace Sysman {
|
||||
struct OsSysman;
|
||||
class Temperature : _zes_temp_handle_t {
|
||||
public:
|
||||
virtual ~Temperature() = default;
|
||||
virtual ze_result_t temperatureGetProperties(zes_temp_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t temperatureGetConfig(zes_temp_config_t *pConfig) = 0;
|
||||
virtual ze_result_t temperatureSetConfig(const zes_temp_config_t *pConfig) = 0;
|
||||
|
||||
@@ -22,6 +22,7 @@ struct OsSysman;
|
||||
|
||||
class VfManagement : _zes_vf_handle_t {
|
||||
public:
|
||||
virtual ~VfManagement() = default;
|
||||
virtual ze_result_t vfGetCapabilities(zes_vf_exp2_capabilities_t *pCapability) = 0;
|
||||
virtual ze_result_t vfGetMemoryUtilization(uint32_t *pCount, zes_vf_util_mem_exp2_t *pMemUtil) = 0;
|
||||
virtual ze_result_t vfGetEngineUtilization(uint32_t *pCount, zes_vf_util_engine_exp2_t *pEngineUtil) = 0;
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
#include "shared/source/helpers/topology_map.h"
|
||||
#include "shared/source/os_interface/os_thread.h"
|
||||
|
||||
#include "level_zero/core/source/helpers/api_handle_helper.h"
|
||||
#include "level_zero/tools/source/debug/eu_thread.h"
|
||||
#include <level_zero/ze_api.h>
|
||||
#include <level_zero/zet_api.h>
|
||||
|
||||
#include <memory>
|
||||
|
||||
struct _zet_debug_session_handle_t {};
|
||||
struct _zet_debug_session_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zet_debug_session_handle_t>);
|
||||
|
||||
namespace L0 {
|
||||
|
||||
|
||||
@@ -9,21 +9,32 @@
|
||||
#include "shared/source/helpers/constants.h"
|
||||
|
||||
#include "level_zero/core/source/event/event.h"
|
||||
#include "level_zero/core/source/helpers/api_handle_helper.h"
|
||||
#include "level_zero/tools/source/metrics/os_interface_metric.h"
|
||||
#include "level_zero/zet_intel_gpu_metric.h"
|
||||
#include <level_zero/zet_api.h>
|
||||
|
||||
#include "metrics_discovery_api.h"
|
||||
|
||||
#include <map>
|
||||
#include <vector>
|
||||
|
||||
struct _zet_metric_group_handle_t {};
|
||||
struct _zet_metric_handle_t {};
|
||||
struct _zet_metric_streamer_handle_t {};
|
||||
struct _zet_metric_query_pool_handle_t {};
|
||||
struct _zet_metric_query_handle_t {};
|
||||
struct _zet_metric_programmable_exp_handle_t {};
|
||||
struct _zet_metric_group_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zet_metric_group_handle_t>);
|
||||
|
||||
struct _zet_metric_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zet_metric_handle_t>);
|
||||
|
||||
struct _zet_metric_streamer_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zet_metric_streamer_handle_t>);
|
||||
|
||||
struct _zet_metric_query_pool_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zet_metric_query_pool_handle_t>);
|
||||
|
||||
struct _zet_metric_query_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zet_metric_query_handle_t>);
|
||||
|
||||
struct _zet_metric_programmable_exp_handle_t : BaseHandle {};
|
||||
static_assert(IsCompliantWithDdiHandlesExt<_zet_metric_programmable_exp_handle_t>);
|
||||
|
||||
struct _zet_intel_metric_calculate_operation_exp_handle_t {};
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ struct OsSysman;
|
||||
|
||||
class Diagnostics : _zes_diag_handle_t {
|
||||
public:
|
||||
~Diagnostics() override {}
|
||||
virtual ~Diagnostics() = default;
|
||||
virtual ze_result_t diagnosticsGetProperties(zes_diag_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t diagnosticsGetTests(uint32_t *pCount, zes_diag_test_t *pTests) = 0;
|
||||
virtual ze_result_t diagnosticsRunTests(uint32_t start, uint32_t end, zes_diag_result_t *pResult) = 0;
|
||||
|
||||
@@ -19,6 +19,7 @@ struct OsSysman;
|
||||
|
||||
class Engine : _zes_engine_handle_t {
|
||||
public:
|
||||
virtual ~Engine() = default;
|
||||
virtual ze_result_t engineGetProperties(zes_engine_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t engineGetActivity(zes_engine_stats_t *pStats) = 0;
|
||||
virtual ze_result_t engineGetActivityExt(uint32_t *pCount, zes_engine_stats_t *pStats) = 0;
|
||||
|
||||
@@ -29,7 +29,7 @@ class FabricDevice {
|
||||
|
||||
class FabricPort : _zes_fabric_port_handle_t {
|
||||
public:
|
||||
~FabricPort() override = default;
|
||||
virtual ~FabricPort() = default;
|
||||
virtual ze_result_t fabricPortGetProperties(zes_fabric_port_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t fabricPortGetLinkType(zes_fabric_link_type_t *pLinkType) = 0;
|
||||
virtual ze_result_t fabricPortGetConfig(zes_fabric_port_config_t *pConfig) = 0;
|
||||
|
||||
@@ -18,6 +18,7 @@ namespace L0 {
|
||||
struct OsSysman;
|
||||
class Fan : _zes_fan_handle_t {
|
||||
public:
|
||||
virtual ~Fan() = default;
|
||||
virtual ze_result_t fanGetProperties(zes_fan_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t fanGetConfig(zes_fan_config_t *pConfig) = 0;
|
||||
virtual ze_result_t fanSetDefaultMode() = 0;
|
||||
|
||||
@@ -19,7 +19,7 @@ struct OsSysman;
|
||||
|
||||
class Firmware : _zes_firmware_handle_t {
|
||||
public:
|
||||
~Firmware() override {}
|
||||
virtual ~Firmware() = default;
|
||||
virtual ze_result_t firmwareGetProperties(zes_firmware_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t firmwareFlash(void *pImage, uint32_t size) = 0;
|
||||
virtual ze_result_t firmwareGetFlashProgress(uint32_t *pCompletionPercent) = 0;
|
||||
|
||||
@@ -20,7 +20,7 @@ struct OsSysman;
|
||||
|
||||
class Frequency : _zes_freq_handle_t {
|
||||
public:
|
||||
~Frequency() override {}
|
||||
virtual ~Frequency() = default;
|
||||
|
||||
virtual ze_result_t frequencyGetProperties(zes_freq_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t frequencyGetAvailableClocks(uint32_t *pCount, double *phFrequency) = 0;
|
||||
|
||||
@@ -19,6 +19,7 @@ struct OsSysman;
|
||||
|
||||
class Memory : _zes_mem_handle_t {
|
||||
public:
|
||||
virtual ~Memory() = default;
|
||||
virtual ze_result_t memoryGetProperties(zes_mem_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t memoryGetBandwidth(zes_mem_bandwidth_t *pBandwidth) = 0;
|
||||
virtual ze_result_t memoryGetState(zes_mem_state_t *pState) = 0;
|
||||
|
||||
@@ -19,7 +19,7 @@ struct OsSysman;
|
||||
|
||||
class Performance : _zes_perf_handle_t {
|
||||
public:
|
||||
~Performance() override {}
|
||||
virtual ~Performance() = default;
|
||||
virtual ze_result_t performanceGetProperties(zes_perf_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t performanceGetConfig(double *pFactor) = 0;
|
||||
virtual ze_result_t performanceSetConfig(double pFactor) = 0;
|
||||
|
||||
@@ -18,6 +18,7 @@ namespace L0 {
|
||||
struct OsSysman;
|
||||
class Power : _zes_pwr_handle_t {
|
||||
public:
|
||||
virtual ~Power() = default;
|
||||
virtual ze_result_t powerGetProperties(zes_power_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t powerGetEnergyCounter(zes_power_energy_counter_t *pEnergy) = 0;
|
||||
virtual ze_result_t powerGetLimits(zes_power_sustained_limit_t *pSustained, zes_power_burst_limit_t *pBurst, zes_power_peak_limit_t *pPeak) = 0;
|
||||
|
||||
@@ -19,6 +19,7 @@ struct OsSysman;
|
||||
|
||||
class Ras : _zes_ras_handle_t {
|
||||
public:
|
||||
virtual ~Ras() = default;
|
||||
virtual ze_result_t rasGetProperties(zes_ras_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t rasGetConfig(zes_ras_config_t *pConfig) = 0;
|
||||
virtual ze_result_t rasSetConfig(const zes_ras_config_t *pConfig) = 0;
|
||||
|
||||
@@ -20,6 +20,7 @@ namespace L0 {
|
||||
struct OsSysman;
|
||||
class Scheduler : _zes_sched_handle_t {
|
||||
public:
|
||||
virtual ~Scheduler() = default;
|
||||
virtual ze_result_t schedulerGetProperties(zes_sched_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t getCurrentMode(zes_sched_mode_t *pMode) = 0;
|
||||
virtual ze_result_t getTimeoutModeProperties(ze_bool_t getDefaults, zes_sched_timeout_properties_t *pConfig) = 0;
|
||||
|
||||
@@ -19,7 +19,7 @@ struct OsSysman;
|
||||
|
||||
class Standby : _zes_standby_handle_t {
|
||||
public:
|
||||
~Standby() override {}
|
||||
virtual ~Standby() = default;
|
||||
virtual ze_result_t standbyGetProperties(zes_standby_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t standbyGetMode(zes_standby_promo_mode_t *pMode) = 0;
|
||||
virtual ze_result_t standbySetMode(const zes_standby_promo_mode_t mode) = 0;
|
||||
|
||||
@@ -17,6 +17,7 @@ namespace L0 {
|
||||
struct OsSysman;
|
||||
class Temperature : _zes_temp_handle_t {
|
||||
public:
|
||||
virtual ~Temperature() = default;
|
||||
virtual ze_result_t temperatureGetProperties(zes_temp_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t temperatureGetConfig(zes_temp_config_t *pConfig) = 0;
|
||||
virtual ze_result_t temperatureSetConfig(const zes_temp_config_t *pConfig) = 0;
|
||||
|
||||
@@ -21,6 +21,7 @@ struct OsSysman;
|
||||
|
||||
class VfManagement : _zes_vf_handle_t {
|
||||
public:
|
||||
virtual ~VfManagement() = default;
|
||||
virtual ze_result_t vfGetCapabilities(zes_vf_exp2_capabilities_t *pCapability) = 0;
|
||||
virtual ze_result_t vfGetMemoryUtilization(uint32_t *pCount, zes_vf_util_mem_exp2_t *pMemUtil) = 0;
|
||||
virtual ze_result_t vfGetEngineUtilization(uint32_t *pCount, zes_vf_util_engine_exp2_t *pEngineUtil) = 0;
|
||||
|
||||
Reference in New Issue
Block a user