fix: support MetricCreateFromProgrammableExp2

Related-To: NEO-14211

Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
This commit is contained in:
Joshua Santosh Ranjan 2025-02-28 13:45:19 +00:00 committed by Compute-Runtime-Automation
parent d7f65cb6c3
commit 9d404fab50
6 changed files with 87 additions and 60 deletions

View File

@ -254,6 +254,7 @@ zetGetMetricExpProcAddrTable(
ze_result_t result = ZE_RESULT_SUCCESS; ze_result_t result = ZE_RESULT_SUCCESS;
fillDdiEntry(pDdiTable->pfnCreateFromProgrammableExp, L0::globalDriverDispatch.toolsMetricExp.pfnCreateFromProgrammableExp, version, ZE_API_VERSION_1_9); fillDdiEntry(pDdiTable->pfnCreateFromProgrammableExp, L0::globalDriverDispatch.toolsMetricExp.pfnCreateFromProgrammableExp, version, ZE_API_VERSION_1_9);
fillDdiEntry(pDdiTable->pfnDestroyExp, L0::globalDriverDispatch.toolsMetricExp.pfnDestroyExp, version, ZE_API_VERSION_1_9); fillDdiEntry(pDdiTable->pfnDestroyExp, L0::globalDriverDispatch.toolsMetricExp.pfnDestroyExp, version, ZE_API_VERSION_1_9);
fillDdiEntry(pDdiTable->pfnCreateFromProgrammableExp2, L0::globalDriverDispatch.toolsMetricExp.pfnCreateFromProgrammableExp2, version, ZE_API_VERSION_1_12);
return result; return result;
} }

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2020-2024 Intel Corporation * Copyright (C) 2020-2025 Intel Corporation
* *
* SPDX-License-Identifier: MIT * SPDX-License-Identifier: MIT
* *
@ -213,9 +213,23 @@ zetMetricCreateFromProgrammableExp(
const char description[ZET_MAX_METRIC_DESCRIPTION], const char description[ZET_MAX_METRIC_DESCRIPTION],
uint32_t *pMetricHandleCount, uint32_t *pMetricHandleCount,
zet_metric_handle_t *phMetricHandles) { zet_metric_handle_t *phMetricHandles) {
return L0::metricCreateFromProgrammable(hMetricProgrammable, pParameterValues, parameterCount, name, description, pMetricHandleCount, phMetricHandles); return L0::metricCreateFromProgrammable(hMetricProgrammable, pParameterValues, parameterCount, name, description, pMetricHandleCount, phMetricHandles);
} }
ze_result_t ZE_APICALL
zetMetricCreateFromProgrammableExp2(
zet_metric_programmable_exp_handle_t hMetricProgrammable,
uint32_t parameterCount,
zet_metric_programmable_param_value_exp_t *pParameterValues,
const char *pName,
const char *pDescription,
uint32_t *pMetricHandleCount,
zet_metric_handle_t *phMetricHandles) {
return L0::metricCreateFromProgrammable(hMetricProgrammable, pParameterValues, parameterCount, pName, pDescription, pMetricHandleCount, phMetricHandles);
}
ze_result_t ZE_APICALL ze_result_t ZE_APICALL
zetMetricGroupCreateExp( zetMetricGroupCreateExp(
zet_device_handle_t hDevice, zet_device_handle_t hDevice,
@ -640,6 +654,18 @@ zetMetricCreateFromProgrammableExp(
return L0::zetMetricCreateFromProgrammableExp(hMetricProgrammable, pParameterValues, parameterCount, name, description, pMetricHandleCount, phMetricHandles); return L0::zetMetricCreateFromProgrammableExp(hMetricProgrammable, pParameterValues, parameterCount, name, description, pMetricHandleCount, phMetricHandles);
} }
ZE_APIEXPORT ze_result_t ZE_APICALL
zetMetricCreateFromProgrammableExp2(
zet_metric_programmable_exp_handle_t hMetricProgrammable,
uint32_t parameterCount,
zet_metric_programmable_param_value_exp_t *pParameterValues,
const char *pName,
const char *pDescription,
uint32_t *pMetricHandleCount,
zet_metric_handle_t *phMetricHandles) {
return L0::zetMetricCreateFromProgrammableExp2(hMetricProgrammable, parameterCount, pParameterValues, pName, pDescription, pMetricHandleCount, phMetricHandles);
}
ZE_APIEXPORT ze_result_t ZE_APICALL ZE_APIEXPORT ze_result_t ZE_APICALL
zetMetricGroupCreateExp( zetMetricGroupCreateExp(
zet_device_handle_t hDevice, zet_device_handle_t hDevice,

View File

@ -314,7 +314,7 @@ DriverDispatch::DriverDispatch() {
this->toolsMetric.pfnGetProperties = L0::zetMetricGetProperties; this->toolsMetric.pfnGetProperties = L0::zetMetricGetProperties;
this->toolsMetricExp.pfnCreateFromProgrammableExp = L0::zetMetricCreateFromProgrammableExp; this->toolsMetricExp.pfnCreateFromProgrammableExp = L0::zetMetricCreateFromProgrammableExp;
this->toolsMetricExp.pfnDestroyExp = L0::zetMetricDestroyExp; this->toolsMetricExp.pfnDestroyExp = L0::zetMetricDestroyExp;
this->toolsMetricExp.pfnCreateFromProgrammableExp2 = nullptr; this->toolsMetricExp.pfnCreateFromProgrammableExp2 = L0::zetMetricCreateFromProgrammableExp2;
this->toolsMetricGroup.pfnGet = L0::zetMetricGroupGet; this->toolsMetricGroup.pfnGet = L0::zetMetricGroupGet;
this->toolsMetricGroup.pfnGetProperties = L0::zetMetricGroupGetProperties; this->toolsMetricGroup.pfnGetProperties = L0::zetMetricGroupGetProperties;
this->toolsMetricGroup.pfnCalculateMetricValues = L0::zetMetricGroupCalculateMetricValues; this->toolsMetricGroup.pfnCalculateMetricValues = L0::zetMetricGroupCalculateMetricValues;

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2024 Intel Corporation * Copyright (C) 2024-2025 Intel Corporation
* *
* SPDX-License-Identifier: MIT * SPDX-License-Identifier: MIT
* *
@ -267,13 +267,13 @@ bool createMetricFromProgrammables() {
} }
uint32_t metricHandleCount = 0; uint32_t metricHandleCount = 0;
VALIDATECALL(zetMetricCreateFromProgrammableExp(programmable, parameterValues.data(), VALIDATECALL(zetMetricCreateFromProgrammableExp2(programmable, props.parameterCount, parameterValues.data(),
props.parameterCount, props.name, props.description, props.name, props.description,
&metricHandleCount, nullptr)); &metricHandleCount, nullptr));
std::vector<zet_metric_handle_t> metricHandles(metricHandleCount); std::vector<zet_metric_handle_t> metricHandles(metricHandleCount);
VALIDATECALL(zetMetricCreateFromProgrammableExp(programmable, parameterValues.data(), VALIDATECALL(zetMetricCreateFromProgrammableExp2(programmable, props.parameterCount, parameterValues.data(),
props.parameterCount, props.name, props.description, props.name, props.description,
&metricHandleCount, metricHandles.data())); &metricHandleCount, metricHandles.data()));
LOG(zmu::LogLevel::INFO) << "MetricHandle Count: " << metricHandleCount << "\n"; LOG(zmu::LogLevel::INFO) << "MetricHandle Count: " << metricHandleCount << "\n";
for (uint32_t j = 0; j < metricHandleCount; ++j) { for (uint32_t j = 0; j < metricHandleCount; ++j) {
const zet_metric_handle_t metric = metricHandles[j]; const zet_metric_handle_t metric = metricHandles[j];
@ -404,13 +404,13 @@ bool testProgrammableMetricGroupCreateDestroy() {
} }
uint32_t metricHandleCount = 0; uint32_t metricHandleCount = 0;
VALIDATECALL(zetMetricCreateFromProgrammableExp(programmable, parameterValues.data(), VALIDATECALL(zetMetricCreateFromProgrammableExp2(programmable, props.parameterCount, parameterValues.data(),
props.parameterCount, props.name, props.description, props.name, props.description,
&metricHandleCount, nullptr)); &metricHandleCount, nullptr));
std::vector<zet_metric_handle_t> metricHandles(metricHandleCount); std::vector<zet_metric_handle_t> metricHandles(metricHandleCount);
VALIDATECALL(zetMetricCreateFromProgrammableExp(programmable, parameterValues.data(), VALIDATECALL(zetMetricCreateFromProgrammableExp2(programmable, props.parameterCount, parameterValues.data(),
props.parameterCount, props.name, props.description, props.name, props.description,
&metricHandleCount, metricHandles.data())); &metricHandleCount, metricHandles.data()));
LOG(zmu::LogLevel::DEBUG) << "MetricHandle Count: " << metricHandleCount << "\n"; LOG(zmu::LogLevel::DEBUG) << "MetricHandle Count: " << metricHandleCount << "\n";
zet_metric_group_handle_t metricGroup{}; zet_metric_group_handle_t metricGroup{};
@ -499,9 +499,9 @@ bool testProgrammableMetricGroupAddRemoveMetric() {
uint32_t metricHandleCount = 0; uint32_t metricHandleCount = 0;
zet_metric_programmable_exp_properties_t programmableProperties{}; zet_metric_programmable_exp_properties_t programmableProperties{};
VALIDATECALL(zetMetricProgrammableGetPropertiesExp(programmable, &programmableProperties)); VALIDATECALL(zetMetricProgrammableGetPropertiesExp(programmable, &programmableProperties));
VALIDATECALL(zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, programmableProperties.name, programmableProperties.description, &metricHandleCount, nullptr)); VALIDATECALL(zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, programmableProperties.name, programmableProperties.description, &metricHandleCount, nullptr));
std::vector<zet_metric_handle_t> metricHandles(metricHandleCount); std::vector<zet_metric_handle_t> metricHandles(metricHandleCount);
VALIDATECALL(zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, programmableProperties.name, programmableProperties.description, &metricHandleCount, metricHandles.data())); VALIDATECALL(zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, programmableProperties.name, programmableProperties.description, &metricHandleCount, metricHandles.data()));
metricHandles.resize(metricHandleCount); metricHandles.resize(metricHandleCount);
metricHandlesFromProgrammables.insert(metricHandlesFromProgrammables.end(), metricHandles.begin(), metricHandles.end()); metricHandlesFromProgrammables.insert(metricHandlesFromProgrammables.end(), metricHandles.begin(), metricHandles.end());
} }
@ -636,9 +636,9 @@ bool testProgrammableMetricGroupStreamer() {
uint32_t metricHandleCount = 0; uint32_t metricHandleCount = 0;
zet_metric_programmable_exp_properties_t programmableProperties{}; zet_metric_programmable_exp_properties_t programmableProperties{};
VALIDATECALL(zetMetricProgrammableGetPropertiesExp(programmable, &programmableProperties)); VALIDATECALL(zetMetricProgrammableGetPropertiesExp(programmable, &programmableProperties));
VALIDATECALL(zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, programmableProperties.name, programmableProperties.description, &metricHandleCount, nullptr)); VALIDATECALL(zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, programmableProperties.name, programmableProperties.description, &metricHandleCount, nullptr));
std::vector<zet_metric_handle_t> metricHandles(metricHandleCount); std::vector<zet_metric_handle_t> metricHandles(metricHandleCount);
VALIDATECALL(zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, programmableProperties.name, programmableProperties.description, &metricHandleCount, metricHandles.data())); VALIDATECALL(zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, programmableProperties.name, programmableProperties.description, &metricHandleCount, metricHandles.data()));
metricHandles.resize(metricHandleCount); metricHandles.resize(metricHandleCount);
metricHandlesFromProgrammables.insert(metricHandlesFromProgrammables.end(), metricHandles.begin(), metricHandles.end()); metricHandlesFromProgrammables.insert(metricHandlesFromProgrammables.end(), metricHandles.begin(), metricHandles.end());
} }
@ -782,9 +782,9 @@ bool testProgrammableMetricGroupQuery() {
uint32_t metricHandleCount = 0; uint32_t metricHandleCount = 0;
zet_metric_programmable_exp_properties_t programmableProperties{}; zet_metric_programmable_exp_properties_t programmableProperties{};
VALIDATECALL(zetMetricProgrammableGetPropertiesExp(programmable, &programmableProperties)); VALIDATECALL(zetMetricProgrammableGetPropertiesExp(programmable, &programmableProperties));
VALIDATECALL(zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, programmableProperties.name, programmableProperties.description, &metricHandleCount, nullptr)); VALIDATECALL(zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, programmableProperties.name, programmableProperties.description, &metricHandleCount, nullptr));
std::vector<zet_metric_handle_t> metricHandles(metricHandleCount); std::vector<zet_metric_handle_t> metricHandles(metricHandleCount);
VALIDATECALL(zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, programmableProperties.name, programmableProperties.description, &metricHandleCount, metricHandles.data())); VALIDATECALL(zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, programmableProperties.name, programmableProperties.description, &metricHandleCount, metricHandles.data()));
metricHandles.resize(metricHandleCount); metricHandles.resize(metricHandleCount);
metricHandlesFromProgrammables.insert(metricHandlesFromProgrammables.end(), metricHandles.begin(), metricHandles.end()); metricHandlesFromProgrammables.insert(metricHandlesFromProgrammables.end(), metricHandles.begin(), metricHandles.end());
} }

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2024 Intel Corporation * Copyright (C) 2024-2025 Intel Corporation
* *
* SPDX-License-Identifier: MIT * SPDX-License-Identifier: MIT
* *
@ -1201,12 +1201,12 @@ TEST_F(OaMetricProgrammableTests, givenValidMetricGroupWhenMetricSetOpenFailsWhe
uint32_t metricHandleCount = 0; uint32_t metricHandleCount = 0;
const char metricName[ZET_MAX_METRIC_NAME] = "metricName"; const char metricName[ZET_MAX_METRIC_NAME] = "metricName";
const char metricDescription[ZET_MAX_METRIC_NAME] = "metricDescription"; const char metricDescription[ZET_MAX_METRIC_NAME] = "metricDescription";
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, &parameterValue, 1, metricName, metricDescription, &metricHandleCount, nullptr)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 1, &parameterValue, metricName, metricDescription, &metricHandleCount, nullptr));
EXPECT_EQ(metricHandleCount, 1u); EXPECT_EQ(metricHandleCount, 1u);
zet_metric_handle_t metricHandle1{}; zet_metric_handle_t metricHandle1{};
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, &parameterValue, 1, metricName, metricDescription, &metricHandleCount, &metricHandle1)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 1, &parameterValue, metricName, metricDescription, &metricHandleCount, &metricHandle1));
zet_metric_handle_t metricHandle2{}; zet_metric_handle_t metricHandle2{};
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, &parameterValue, 1, metricName, metricDescription, &metricHandleCount, &metricHandle2)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 1, &parameterValue, metricName, metricDescription, &metricHandleCount, &metricHandle2));
zet_metric_handle_t metricHandles[] = {metricHandle1, metricHandle2}; zet_metric_handle_t metricHandles[] = {metricHandle1, metricHandle2};
@ -1296,12 +1296,12 @@ TEST_F(OaMetricProgrammableTests, givenValidMetricGroupWhenDelayedActivatingMetr
uint32_t metricHandleCount = 0; uint32_t metricHandleCount = 0;
const char metricName[ZET_MAX_METRIC_NAME] = "metricName"; const char metricName[ZET_MAX_METRIC_NAME] = "metricName";
const char metricDescription[ZET_MAX_METRIC_NAME] = "metricDescription"; const char metricDescription[ZET_MAX_METRIC_NAME] = "metricDescription";
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, &parameterValue, 1, metricName, metricDescription, &metricHandleCount, nullptr)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 1, &parameterValue, metricName, metricDescription, &metricHandleCount, nullptr));
EXPECT_EQ(metricHandleCount, 1u); EXPECT_EQ(metricHandleCount, 1u);
zet_metric_handle_t metricHandle{}; zet_metric_handle_t metricHandle{};
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, &parameterValue, 1, metricName, metricDescription, &metricHandleCount, &metricHandle)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 1, &parameterValue, metricName, metricDescription, &metricHandleCount, &metricHandle));
zet_metric_handle_t metricHandle1{}; zet_metric_handle_t metricHandle1{};
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, &parameterValue, 1, metricName, metricDescription, &metricHandleCount, &metricHandle1)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 1, &parameterValue, metricName, metricDescription, &metricHandleCount, &metricHandle1));
zet_metric_group_handle_t metricGroupHandle = nullptr; zet_metric_group_handle_t metricGroupHandle = nullptr;
uint32_t metricGroupCount = 0; uint32_t metricGroupCount = 0;
@ -1353,12 +1353,12 @@ TEST_F(OaMetricProgrammableTests, givenValidProgrammableWhenCreatingProgrammable
uint32_t metricHandleCount = 0; uint32_t metricHandleCount = 0;
const char metricName[ZET_MAX_METRIC_NAME] = "metricName"; const char metricName[ZET_MAX_METRIC_NAME] = "metricName";
const char metricDescription[ZET_MAX_METRIC_NAME] = "metricDescription"; const char metricDescription[ZET_MAX_METRIC_NAME] = "metricDescription";
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, &parameterValue, 1, metricName, metricDescription, &metricHandleCount, nullptr)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 1, &parameterValue, metricName, metricDescription, &metricHandleCount, nullptr));
EXPECT_EQ(metricHandleCount, 1u); EXPECT_EQ(metricHandleCount, 1u);
zet_metric_handle_t metricHandle{}; zet_metric_handle_t metricHandle{};
mockConcurrentGroup.metricEnumeratorReturn->metricProtoTypeReturn[0].mockOptionDescriptors[0].ValidValues->ValueType = MetricsDiscovery::VALUE_TYPE_LAST; mockConcurrentGroup.metricEnumeratorReturn->metricProtoTypeReturn[0].mockOptionDescriptors[0].ValidValues->ValueType = MetricsDiscovery::VALUE_TYPE_LAST;
EXPECT_EQ(ZE_RESULT_ERROR_UNKNOWN, zetMetricCreateFromProgrammableExp(programmable, &parameterValue, 1, metricName, metricDescription, &metricHandleCount, &metricHandle)); EXPECT_EQ(ZE_RESULT_ERROR_UNKNOWN, zetMetricCreateFromProgrammableExp2(programmable, 1, &parameterValue, metricName, metricDescription, &metricHandleCount, &metricHandle));
mockConcurrentGroup.metricEnumeratorReturn->metricProtoTypeReturn[0].mockOptionDescriptors[0].ValidValues->ValueType = MetricsDiscovery::VALUE_TYPE_UINT32; mockConcurrentGroup.metricEnumeratorReturn->metricProtoTypeReturn[0].mockOptionDescriptors[0].ValidValues->ValueType = MetricsDiscovery::VALUE_TYPE_UINT32;
metricEnumeration->cleanupExtendedMetricInformation(); metricEnumeration->cleanupExtendedMetricInformation();
@ -1394,12 +1394,12 @@ TEST_F(OaMetricProgrammableTests, givenValidMetricGroupWhenCreatingLessThanAvail
uint32_t metricHandleCount = 0; uint32_t metricHandleCount = 0;
const char metricName[ZET_MAX_METRIC_NAME] = "metricName"; const char metricName[ZET_MAX_METRIC_NAME] = "metricName";
const char metricDescription[ZET_MAX_METRIC_NAME] = "metricDescription"; const char metricDescription[ZET_MAX_METRIC_NAME] = "metricDescription";
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, &parameterValue, 1, metricName, metricDescription, &metricHandleCount, nullptr)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 1, &parameterValue, metricName, metricDescription, &metricHandleCount, nullptr));
EXPECT_EQ(metricHandleCount, 1u); EXPECT_EQ(metricHandleCount, 1u);
zet_metric_handle_t metricHandle1{}; zet_metric_handle_t metricHandle1{};
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, &parameterValue, 1, metricName, metricDescription, &metricHandleCount, &metricHandle1)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 1, &parameterValue, metricName, metricDescription, &metricHandleCount, &metricHandle1));
zet_metric_handle_t metricHandle2{}; zet_metric_handle_t metricHandle2{};
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, &parameterValue, 1, metricName, metricDescription, &metricHandleCount, &metricHandle2)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 1, &parameterValue, metricName, metricDescription, &metricHandleCount, &metricHandle2));
zet_metric_handle_t metricHandles[] = {metricHandle1, metricHandle2}; zet_metric_handle_t metricHandles[] = {metricHandle1, metricHandle2};

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2024 Intel Corporation * Copyright (C) 2024-2025 Intel Corporation
* *
* SPDX-License-Identifier: MIT * SPDX-License-Identifier: MIT
* *
@ -63,9 +63,9 @@ void OaMultiDeviceMetricProgrammableFixture::getMetricFromProgrammable(zet_metri
const char *metricName = "MetricName"; const char *metricName = "MetricName";
const char *metricDesc = "MetricDesc"; const char *metricDesc = "MetricDesc";
uint32_t metricHandleCount = 0; uint32_t metricHandleCount = 0;
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, nullptr)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, nullptr));
EXPECT_EQ(metricHandleCount, 1u); EXPECT_EQ(metricHandleCount, 1u);
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, &metricHandle)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, &metricHandle));
EXPECT_NE(metricHandle, nullptr); EXPECT_NE(metricHandle, nullptr);
} }
@ -209,10 +209,10 @@ TEST_F(OaMultiDeviceMetricProgrammableTests, givenMultiDeviceMetricProgrammableW
const char *metricName = "MetricName"; const char *metricName = "MetricName";
const char *metricDesc = "MetricDesc"; const char *metricDesc = "MetricDesc";
uint32_t metricHandleCount = 0; uint32_t metricHandleCount = 0;
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, nullptr)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, nullptr));
EXPECT_EQ(metricHandleCount, 1u); EXPECT_EQ(metricHandleCount, 1u);
zet_metric_handle_t metricHandle = nullptr; zet_metric_handle_t metricHandle = nullptr;
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, &metricHandle)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, &metricHandle));
EXPECT_NE(metricHandle, nullptr); EXPECT_NE(metricHandle, nullptr);
zet_metric_properties_t metricProperties{}; zet_metric_properties_t metricProperties{};
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricGetProperties(metricHandle, &metricProperties)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricGetProperties(metricHandle, &metricProperties));
@ -230,10 +230,10 @@ TEST_F(OaMultiDeviceMetricProgrammableTests, givenMultiDeviceMetricsWhenMetricGr
const char *metricName = "MetricName"; const char *metricName = "MetricName";
const char *metricDesc = "MetricDesc"; const char *metricDesc = "MetricDesc";
uint32_t metricHandleCount = 0; uint32_t metricHandleCount = 0;
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, nullptr)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, nullptr));
EXPECT_EQ(metricHandleCount, 1u); EXPECT_EQ(metricHandleCount, 1u);
zet_metric_handle_t metricHandle = nullptr; zet_metric_handle_t metricHandle = nullptr;
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, &metricHandle)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, &metricHandle));
EXPECT_NE(metricHandle, nullptr); EXPECT_NE(metricHandle, nullptr);
uint32_t metricGroupCount = 0; uint32_t metricGroupCount = 0;
EXPECT_EQ(ZE_RESULT_SUCCESS, zetDeviceCreateMetricGroupsFromMetricsExp(rootDevice->toHandle(), 1, &metricHandle, "metricGroupName", "metricGroupDesc", &metricGroupCount, nullptr)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetDeviceCreateMetricGroupsFromMetricsExp(rootDevice->toHandle(), 1, &metricHandle, "metricGroupName", "metricGroupDesc", &metricGroupCount, nullptr));
@ -265,10 +265,10 @@ TEST_F(OaMultiDeviceMetricProgrammableTests, givenMultiDeviceMetricsWhenMetricGr
const char *metricName = "MetricName"; const char *metricName = "MetricName";
const char *metricDesc = "MetricDesc"; const char *metricDesc = "MetricDesc";
uint32_t metricHandleCount = 0; uint32_t metricHandleCount = 0;
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, nullptr)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, nullptr));
EXPECT_EQ(metricHandleCount, 1u); EXPECT_EQ(metricHandleCount, 1u);
zet_metric_handle_t metricHandle = nullptr; zet_metric_handle_t metricHandle = nullptr;
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, &metricHandle)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, &metricHandle));
EXPECT_NE(metricHandle, nullptr); EXPECT_NE(metricHandle, nullptr);
uint32_t metricGroupCount = 0; uint32_t metricGroupCount = 0;
EXPECT_EQ(ZE_RESULT_SUCCESS, zetDeviceCreateMetricGroupsFromMetricsExp(rootDevice->toHandle(), 1, &metricHandle, "metricGroupName", "metricGroupDesc", &metricGroupCount, nullptr)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetDeviceCreateMetricGroupsFromMetricsExp(rootDevice->toHandle(), 1, &metricHandle, "metricGroupName", "metricGroupDesc", &metricGroupCount, nullptr));
@ -315,11 +315,11 @@ TEST_F(OaMultiDeviceMetricProgrammableTests, givenMultiDeviceMetricsWhenMetricGr
const char *metricName = "MetricName"; const char *metricName = "MetricName";
const char *metricDesc = "MetricDesc"; const char *metricDesc = "MetricDesc";
uint32_t metricHandleCount = 0; uint32_t metricHandleCount = 0;
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, nullptr)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, nullptr));
EXPECT_EQ(metricHandleCount, 1u); EXPECT_EQ(metricHandleCount, 1u);
zet_metric_handle_t metricHandle[2] = {}; zet_metric_handle_t metricHandle[2] = {};
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, &metricHandle[0])); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, &metricHandle[0]));
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, &metricHandle[1])); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, &metricHandle[1]));
EXPECT_NE(metricHandle[0], nullptr); EXPECT_NE(metricHandle[0], nullptr);
EXPECT_NE(metricHandle[1], nullptr); EXPECT_NE(metricHandle[1], nullptr);
uint32_t metricGroupCount = 0; uint32_t metricGroupCount = 0;
@ -558,11 +558,11 @@ TEST_F(OaMultiDeviceMetricProgrammableTests, givenMultiDeviceMetricGroupWhenAddM
const char *metricName = "MetricName"; const char *metricName = "MetricName";
const char *metricDesc = "MetricDesc"; const char *metricDesc = "MetricDesc";
uint32_t metricHandleCount = 0; uint32_t metricHandleCount = 0;
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, nullptr)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, nullptr));
EXPECT_EQ(metricHandleCount, 1u); EXPECT_EQ(metricHandleCount, 1u);
zet_metric_handle_t metricHandle[2] = {}; zet_metric_handle_t metricHandle[2] = {};
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, &metricHandle[0])); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, &metricHandle[0]));
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, &metricHandle[1])); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, &metricHandle[1]));
EXPECT_NE(metricHandle[0], nullptr); EXPECT_NE(metricHandle[0], nullptr);
EXPECT_NE(metricHandle[1], nullptr); EXPECT_NE(metricHandle[1], nullptr);
uint32_t metricGroupCount = 0; uint32_t metricGroupCount = 0;
@ -605,11 +605,11 @@ TEST_F(OaMultiDeviceMetricProgrammableTests, givenMultiDeviceMetricGroupWhenRemo
const char *metricName = "MetricName"; const char *metricName = "MetricName";
const char *metricDesc = "MetricDesc"; const char *metricDesc = "MetricDesc";
uint32_t metricHandleCount = 0; uint32_t metricHandleCount = 0;
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, nullptr)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, nullptr));
EXPECT_EQ(metricHandleCount, 1u); EXPECT_EQ(metricHandleCount, 1u);
zet_metric_handle_t metricHandle[2] = {}; zet_metric_handle_t metricHandle[2] = {};
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, &metricHandle[0])); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, &metricHandle[0]));
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, &metricHandle[1])); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, &metricHandle[1]));
EXPECT_NE(metricHandle[0], nullptr); EXPECT_NE(metricHandle[0], nullptr);
EXPECT_NE(metricHandle[1], nullptr); EXPECT_NE(metricHandle[1], nullptr);
uint32_t metricGroupCount = 0; uint32_t metricGroupCount = 0;
@ -651,11 +651,11 @@ TEST_F(OaMultiDeviceMetricProgrammableTests, givenMultiDeviceMetricGroupWhenClos
const char *metricName = "MetricName"; const char *metricName = "MetricName";
const char *metricDesc = "MetricDesc"; const char *metricDesc = "MetricDesc";
uint32_t metricHandleCount = 0; uint32_t metricHandleCount = 0;
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, nullptr)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, nullptr));
EXPECT_EQ(metricHandleCount, 1u); EXPECT_EQ(metricHandleCount, 1u);
zet_metric_handle_t metricHandle[2] = {}; zet_metric_handle_t metricHandle[2] = {};
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, &metricHandle[0])); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, &metricHandle[0]));
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, &metricHandle[1])); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, &metricHandle[1]));
EXPECT_NE(metricHandle[0], nullptr); EXPECT_NE(metricHandle[0], nullptr);
EXPECT_NE(metricHandle[1], nullptr); EXPECT_NE(metricHandle[1], nullptr);
uint32_t metricGroupCount = 0; uint32_t metricGroupCount = 0;
@ -706,11 +706,11 @@ TEST_F(OaMultiDeviceMetricProgrammableTests, givenMultiDeviceMetricGroupWhenCrea
const char *metricName = "MetricName"; const char *metricName = "MetricName";
const char *metricDesc = "MetricDesc"; const char *metricDesc = "MetricDesc";
uint32_t metricHandleCount = 0; uint32_t metricHandleCount = 0;
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, nullptr)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, nullptr));
EXPECT_EQ(metricHandleCount, 1u); EXPECT_EQ(metricHandleCount, 1u);
zet_metric_handle_t metricHandle[2] = {}; zet_metric_handle_t metricHandle[2] = {};
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, &metricHandle[0])); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, &metricHandle[0]));
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, &metricHandle[1])); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, &metricHandle[1]));
EXPECT_NE(metricHandle[0], nullptr); EXPECT_NE(metricHandle[0], nullptr);
EXPECT_NE(metricHandle[1], nullptr); EXPECT_NE(metricHandle[1], nullptr);
uint32_t metricGroupCount = 0; uint32_t metricGroupCount = 0;
@ -735,10 +735,10 @@ TEST_F(OaMultiDeviceMetricProgrammableTests, givenMultiDeviceMetricsWhenMetricIs
const char *metricName = "MetricName"; const char *metricName = "MetricName";
const char *metricDesc = "MetricDesc"; const char *metricDesc = "MetricDesc";
uint32_t metricHandleCount = 0; uint32_t metricHandleCount = 0;
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, nullptr)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, nullptr));
EXPECT_EQ(metricHandleCount, 1u); EXPECT_EQ(metricHandleCount, 1u);
zet_metric_handle_t metricHandle = nullptr; zet_metric_handle_t metricHandle = nullptr;
EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp(programmable, nullptr, 0, metricName, metricDesc, &metricHandleCount, &metricHandle)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetMetricCreateFromProgrammableExp2(programmable, 0, nullptr, metricName, metricDesc, &metricHandleCount, &metricHandle));
EXPECT_NE(metricHandle, nullptr); EXPECT_NE(metricHandle, nullptr);
uint32_t metricGroupCount = 0; uint32_t metricGroupCount = 0;
EXPECT_EQ(ZE_RESULT_SUCCESS, zetDeviceCreateMetricGroupsFromMetricsExp(rootDevice->toHandle(), 1, &metricHandle, "metricGroupName", "metricGroupDesc", &metricGroupCount, nullptr)); EXPECT_EQ(ZE_RESULT_SUCCESS, zetDeviceCreateMetricGroupsFromMetricsExp(rootDevice->toHandle(), 1, &metricHandle, "metricGroupName", "metricGroupDesc", &metricGroupCount, nullptr));