mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-04 15:53:45 +08:00
feature: Enable Per IP euStall Functionality
Related-To: NEO-10220 Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
8fe1a460f8
commit
b5f8a38f19
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2022-2023 Intel Corporation
|
||||
* Copyright (C) 2022-2024 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -10,7 +10,6 @@
|
||||
#include "shared/source/helpers/hw_info.h"
|
||||
#include "shared/source/os_interface/linux/drm_neo.h"
|
||||
#include "shared/source/os_interface/linux/engine_info.h"
|
||||
#include "shared/source/os_interface/linux/i915.h"
|
||||
#include "shared/source/os_interface/linux/ioctl_helper.h"
|
||||
#include "shared/source/os_interface/linux/sys_calls.h"
|
||||
#include "shared/source/os_interface/os_interface.h"
|
||||
@@ -101,38 +100,19 @@ ze_result_t MetricIpSamplingLinuxImp::startMeasurement(uint32_t ¬ifyEveryNRep
|
||||
return ZE_RESULT_ERROR_UNKNOWN;
|
||||
}
|
||||
|
||||
struct drm_i915_perf_open_param param = {
|
||||
.flags = I915_PERF_FLAG_FD_CLOEXEC |
|
||||
euStallFdParameter |
|
||||
I915_PERF_FLAG_FD_NONBLOCK,
|
||||
.num_properties = sizeof(properties) / 16,
|
||||
.properties_ptr = reinterpret_cast<uintptr_t>(properties.data()),
|
||||
};
|
||||
|
||||
stream = NEO::SysCalls::ioctl(drm->getFileDescriptor(), DRM_IOCTL_I915_PERF_OPEN, ¶m);
|
||||
if (stream < 0) {
|
||||
if (!ioctlHelper->perfOpenEuStallStream(euStallFdParameter, properties, &stream)) {
|
||||
return ZE_RESULT_ERROR_UNKNOWN;
|
||||
}
|
||||
|
||||
auto ret = NEO::SysCalls::ioctl(stream, I915_PERF_IOCTL_ENABLE, 0);
|
||||
PRINT_DEBUG_STRING(NEO::debugManager.flags.PrintDebugMessages.get() && (ret < 0), stderr,
|
||||
"PRELIM_I915_PERF_IOCTL_ENABLE failed errno = %d | ret = %d \n", errno, ret);
|
||||
|
||||
return (ret == 0) ? ZE_RESULT_SUCCESS : ZE_RESULT_ERROR_UNKNOWN;
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
ze_result_t MetricIpSamplingLinuxImp::stopMeasurement() {
|
||||
const auto drm = device.getOsInterface().getDriverModel()->as<NEO::Drm>();
|
||||
auto ioctlHelper = drm->getIoctlHelper();
|
||||
bool result = ioctlHelper->perfDisableEuStallStream(&stream);
|
||||
|
||||
int disableStatus = NEO::SysCalls::ioctl(stream, I915_PERF_IOCTL_DISABLE, 0);
|
||||
PRINT_DEBUG_STRING(NEO::debugManager.flags.PrintDebugMessages.get() && (disableStatus < 0), stderr,
|
||||
"I915_PERF_IOCTL_DISABLE failed errno = %d | ret = %d \n", errno, disableStatus);
|
||||
|
||||
int closeStatus = NEO::SysCalls::close(stream);
|
||||
PRINT_DEBUG_STRING(NEO::debugManager.flags.PrintDebugMessages.get() && (closeStatus < 0), stderr,
|
||||
"close() failed errno = %d | ret = %d \n", errno, closeStatus);
|
||||
stream = -1;
|
||||
|
||||
return ((closeStatus == 0) && (disableStatus == 0)) ? ZE_RESULT_SUCCESS : ZE_RESULT_ERROR_UNKNOWN;
|
||||
return result ? ZE_RESULT_SUCCESS : ZE_RESULT_ERROR_UNKNOWN;
|
||||
}
|
||||
|
||||
ze_result_t MetricIpSamplingLinuxImp::readData(uint8_t *pRawData, size_t *pRawDataSize) {
|
||||
|
||||
@@ -8,11 +8,13 @@
|
||||
#include "level_zero/tools/source/metrics/metric_ip_sampling_source.h"
|
||||
|
||||
#include "shared/source/debug_settings/debug_settings_manager.h"
|
||||
#include "shared/source/execution_environment/root_device_environment.h"
|
||||
#include "shared/source/helpers/hw_info.h"
|
||||
#include "shared/source/helpers/string.h"
|
||||
|
||||
#include "level_zero/core/source/device/device.h"
|
||||
#include "level_zero/core/source/device/device_imp.h"
|
||||
#include "level_zero/core/source/gfx_core_helpers/l0_gfx_core_helper.h"
|
||||
#include "level_zero/include/zet_intel_gpu_metric.h"
|
||||
#include "level_zero/tools/source/metrics/metric.h"
|
||||
#include "level_zero/tools/source/metrics/metric_ip_sampling_streamer.h"
|
||||
@@ -55,8 +57,8 @@ bool IpSamplingMetricSourceImp::isAvailable() {
|
||||
|
||||
void IpSamplingMetricSourceImp::cacheMetricGroup() {
|
||||
|
||||
const auto deviceImp = static_cast<DeviceImp *>(&metricDeviceContext.getDevice());
|
||||
if (metricDeviceContext.isImplicitScalingCapable()) {
|
||||
const auto deviceImp = static_cast<DeviceImp *>(&metricDeviceContext.getDevice());
|
||||
std::vector<IpSamplingMetricGroupImp *> subDeviceMetricGroup = {};
|
||||
subDeviceMetricGroup.reserve(deviceImp->subDevices.size());
|
||||
|
||||
@@ -95,23 +97,14 @@ void IpSamplingMetricSourceImp::cacheMetricGroup() {
|
||||
strcpy_s(metricProperties.resultUnits, ZET_MAX_METRIC_RESULT_UNITS, "Address");
|
||||
metrics.push_back(IpSamplingMetricImp(*this, metricProperties));
|
||||
|
||||
std::vector<std::pair<const char *, const char *>> metricPropertiesList = {
|
||||
{"Active", "Active cycles"},
|
||||
{"ControlStall", "Stall on control"},
|
||||
{"PipeStall", "Stall on pipe"},
|
||||
{"SendStall", "Stall on send"},
|
||||
{"DistStall", "Stall on distance"},
|
||||
{"SbidStall", "Stall on scoreboard"},
|
||||
{"SyncStall", "Stall on sync"},
|
||||
{"InstrFetchStall", "Stall on instruction fetch"},
|
||||
{"OtherStall", "Stall on other condition"},
|
||||
};
|
||||
auto &l0GfxCoreHelper = deviceImp->getNEODevice()->getRootDeviceEnvironment().getHelper<L0GfxCoreHelper>();
|
||||
std::vector<std::pair<const char *, const char *>> stallSamplingReportList = l0GfxCoreHelper.getStallSamplingReportMetrics();
|
||||
|
||||
// Preparing properties for others because of common values
|
||||
metricProperties.metricType = ZET_METRIC_TYPE_EVENT;
|
||||
strcpy_s(metricProperties.resultUnits, ZET_MAX_METRIC_RESULT_UNITS, "Events");
|
||||
|
||||
for (auto &property : metricPropertiesList) {
|
||||
for (auto &property : stallSamplingReportList) {
|
||||
strcpy_s(metricProperties.name, ZET_MAX_METRIC_NAME, property.first);
|
||||
strcpy_s(metricProperties.description, ZET_MAX_METRIC_DESCRIPTION, property.second);
|
||||
metrics.push_back(IpSamplingMetricImp(*this, metricProperties));
|
||||
@@ -419,7 +412,7 @@ ze_result_t IpSamplingMetricGroupImp::getCalculatedMetricValues(const zet_metric
|
||||
uint32_t &metricValueCount,
|
||||
zet_typed_value_t *pCalculatedData) {
|
||||
bool dataOverflow = false;
|
||||
StallSumIpDataMap_t stallSumIpDataMap;
|
||||
std::map<uint64_t, void *> stallReportDataMap;
|
||||
|
||||
// MAX_METRIC_VALUES is not supported yet.
|
||||
if (type != ZET_METRIC_GROUP_CALCULATION_TYPE_METRIC_VALUES) {
|
||||
@@ -436,129 +429,28 @@ ze_result_t IpSamplingMetricGroupImp::getCalculatedMetricValues(const zet_metric
|
||||
|
||||
const uint32_t rawReportCount = static_cast<uint32_t>(rawDataSize) / rawReportSize;
|
||||
|
||||
DeviceImp *deviceImp = static_cast<DeviceImp *>(&this->getMetricSource().getMetricDeviceContext().getDevice());
|
||||
auto &l0GfxCoreHelper = deviceImp->getNEODevice()->getRootDeviceEnvironment().getHelper<L0GfxCoreHelper>();
|
||||
|
||||
for (const uint8_t *pRawIpData = pRawData; pRawIpData < pRawData + (rawReportCount * rawReportSize); pRawIpData += rawReportSize) {
|
||||
dataOverflow |= stallIpDataMapUpdate(stallSumIpDataMap, pRawIpData);
|
||||
dataOverflow |= l0GfxCoreHelper.stallIpDataMapUpdate(stallReportDataMap, pRawIpData);
|
||||
}
|
||||
|
||||
metricValueCount = std::min<uint32_t>(metricValueCount, static_cast<uint32_t>(stallSumIpDataMap.size()) * properties.metricCount);
|
||||
metricValueCount = std::min<uint32_t>(metricValueCount, static_cast<uint32_t>(stallReportDataMap.size()) * properties.metricCount);
|
||||
std::vector<zet_typed_value_t> ipDataValues;
|
||||
uint32_t i = 0;
|
||||
for (auto it = stallSumIpDataMap.begin(); it != stallSumIpDataMap.end(); ++it) {
|
||||
stallSumIpDataToTypedValues(it->first, it->second, ipDataValues);
|
||||
for (auto it = stallReportDataMap.begin(); it != stallReportDataMap.end(); ++it) {
|
||||
l0GfxCoreHelper.stallSumIpDataToTypedValues(it->first, it->second, ipDataValues);
|
||||
for (auto jt = ipDataValues.begin(); (jt != ipDataValues.end()) && (i < metricValueCount); jt++, i++) {
|
||||
*(pCalculatedData + i) = *jt;
|
||||
}
|
||||
ipDataValues.clear();
|
||||
}
|
||||
l0GfxCoreHelper.stallIpDataMapDelete(stallReportDataMap);
|
||||
|
||||
return dataOverflow ? ZE_RESULT_WARNING_DROPPED_DATA : ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* stall sample data item format:
|
||||
*
|
||||
* Bits Field
|
||||
* 0 to 28 IP (addr)
|
||||
* 29 to 36 active count
|
||||
* 37 to 44 other count
|
||||
* 45 to 52 control count
|
||||
* 53 to 60 pipestall count
|
||||
* 61 to 68 send count
|
||||
* 69 to 76 dist_acc count
|
||||
* 77 to 84 sbid count
|
||||
* 85 to 92 sync count
|
||||
* 93 to 100 inst_fetch count
|
||||
*
|
||||
* bytes 49 and 50, subSlice
|
||||
* bytes 51 and 52, flags
|
||||
*
|
||||
* total size 64 bytes
|
||||
*/
|
||||
bool IpSamplingMetricGroupImp::stallIpDataMapUpdate(StallSumIpDataMap_t &stallSumIpDataMap, const uint8_t *pRawIpData) {
|
||||
|
||||
const uint8_t *tempAddr = pRawIpData;
|
||||
uint64_t ip = 0ULL;
|
||||
memcpy_s(reinterpret_cast<uint8_t *>(&ip), sizeof(ip), tempAddr, sizeof(ip));
|
||||
ip &= 0x1fffffff;
|
||||
StallSumIpData_t &stallSumData = stallSumIpDataMap[ip];
|
||||
tempAddr += 3;
|
||||
|
||||
auto getCount = [&tempAddr]() {
|
||||
uint16_t tempCount = 0;
|
||||
memcpy_s(reinterpret_cast<uint8_t *>(&tempCount), sizeof(tempCount), tempAddr, sizeof(tempCount));
|
||||
tempCount = (tempCount >> 5) & 0xff;
|
||||
tempAddr += 1;
|
||||
return static_cast<uint8_t>(tempCount);
|
||||
};
|
||||
|
||||
stallSumData.activeCount += getCount();
|
||||
stallSumData.otherCount += getCount();
|
||||
stallSumData.controlCount += getCount();
|
||||
stallSumData.pipeStallCount += getCount();
|
||||
stallSumData.sendCount += getCount();
|
||||
stallSumData.distAccCount += getCount();
|
||||
stallSumData.sbidCount += getCount();
|
||||
stallSumData.syncCount += getCount();
|
||||
stallSumData.instFetchCount += getCount();
|
||||
|
||||
struct StallCntrInfo {
|
||||
uint16_t subslice;
|
||||
uint16_t flags;
|
||||
} stallCntrInfo = {};
|
||||
|
||||
tempAddr = pRawIpData + 48;
|
||||
memcpy_s(reinterpret_cast<uint8_t *>(&stallCntrInfo), sizeof(stallCntrInfo), tempAddr, sizeof(stallCntrInfo));
|
||||
|
||||
constexpr int overflowDropFlag = (1 << 8);
|
||||
return stallCntrInfo.flags & overflowDropFlag;
|
||||
}
|
||||
|
||||
// The order of push_back calls must match the order of metricPropertiesList.
|
||||
void IpSamplingMetricGroupImp::stallSumIpDataToTypedValues(uint64_t ip,
|
||||
StallSumIpData_t &sumIpData,
|
||||
std::vector<zet_typed_value_t> &ipDataValues) {
|
||||
zet_typed_value_t tmpValueData;
|
||||
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
||||
tmpValueData.value.ui64 = ip;
|
||||
ipDataValues.push_back(tmpValueData);
|
||||
|
||||
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
||||
tmpValueData.value.ui64 = sumIpData.activeCount;
|
||||
ipDataValues.push_back(tmpValueData);
|
||||
|
||||
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
||||
tmpValueData.value.ui64 = sumIpData.controlCount;
|
||||
ipDataValues.push_back(tmpValueData);
|
||||
|
||||
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
||||
tmpValueData.value.ui64 = sumIpData.pipeStallCount;
|
||||
ipDataValues.push_back(tmpValueData);
|
||||
|
||||
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
||||
tmpValueData.value.ui64 = sumIpData.sendCount;
|
||||
ipDataValues.push_back(tmpValueData);
|
||||
|
||||
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
||||
tmpValueData.value.ui64 = sumIpData.distAccCount;
|
||||
ipDataValues.push_back(tmpValueData);
|
||||
|
||||
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
||||
tmpValueData.value.ui64 = sumIpData.sbidCount;
|
||||
ipDataValues.push_back(tmpValueData);
|
||||
|
||||
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
||||
tmpValueData.value.ui64 = sumIpData.syncCount;
|
||||
ipDataValues.push_back(tmpValueData);
|
||||
|
||||
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
||||
tmpValueData.value.ui64 = sumIpData.instFetchCount;
|
||||
ipDataValues.push_back(tmpValueData);
|
||||
|
||||
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
||||
tmpValueData.value.ui64 = sumIpData.otherCount;
|
||||
ipDataValues.push_back(tmpValueData);
|
||||
}
|
||||
|
||||
zet_metric_group_handle_t IpSamplingMetricGroupImp::getMetricGroupForSubDevice(const uint32_t subDeviceIndex) {
|
||||
return toHandle();
|
||||
}
|
||||
|
||||
@@ -53,20 +53,6 @@ class IpSamplingMetricSourceImp : public MetricSource {
|
||||
std::unique_ptr<MultiDomainDeferredActivationTracker> activationTracker{};
|
||||
};
|
||||
|
||||
typedef struct StallSumIpData {
|
||||
uint64_t activeCount;
|
||||
uint64_t otherCount;
|
||||
uint64_t controlCount;
|
||||
uint64_t pipeStallCount;
|
||||
uint64_t sendCount;
|
||||
uint64_t distAccCount;
|
||||
uint64_t sbidCount;
|
||||
uint64_t syncCount;
|
||||
uint64_t instFetchCount;
|
||||
} StallSumIpData_t;
|
||||
|
||||
typedef std::map<uint64_t, StallSumIpData_t> StallSumIpDataMap_t;
|
||||
|
||||
struct IpSamplingMetricGroupBase : public MetricGroupImp {
|
||||
IpSamplingMetricGroupBase(MetricSource &metricSource) : MetricGroupImp(metricSource) {}
|
||||
static constexpr uint32_t rawReportSize = 64u;
|
||||
@@ -130,8 +116,6 @@ struct IpSamplingMetricGroupImp : public IpSamplingMetricGroupBase {
|
||||
ze_result_t getCalculatedMetricValues(const zet_metric_group_calculation_type_t type, const size_t rawDataSize, const uint8_t *pRawData,
|
||||
uint32_t &metricValueCount,
|
||||
zet_typed_value_t *pCalculatedData);
|
||||
bool stallIpDataMapUpdate(StallSumIpDataMap_t &, const uint8_t *pRawIpData);
|
||||
void stallSumIpDataToTypedValues(uint64_t ip, StallSumIpData_t &sumIpData, std::vector<zet_typed_value_t> &ipDataValues);
|
||||
bool isMultiDeviceCaptureData(const size_t rawDataSize, const uint8_t *pRawData);
|
||||
};
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2022-2023 Intel Corporation
|
||||
* Copyright (C) 2022-2024 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -27,7 +27,9 @@ class MetricIpSamplingLinuxTest : public DeviceFixture,
|
||||
std::unique_ptr<MetricIpSamplingOsInterface> metricIpSamplingOsInterface = nullptr;
|
||||
};
|
||||
|
||||
HWTEST2_F(MetricIpSamplingLinuxTest, GivenUnsupportedProductFamilyIsUsedWhenIsDependencyAvailableIsCalledThenReturnFailure, IsNotXeHpcCore) {
|
||||
using IsNotGen9ThruPVC = IsNotWithinProducts<IGFX_SKYLAKE, IGFX_PVC>;
|
||||
|
||||
HWTEST2_F(MetricIpSamplingLinuxTest, GivenUnsupportedProductFamilyIsUsedWhenIsDependencyAvailableIsCalledThenReturnFailure, IsNotGen9ThruPVC) {
|
||||
|
||||
EXPECT_FALSE(metricIpSamplingOsInterface->isDependencyAvailable());
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
#include "shared/test/common/mocks/mock_device.h"
|
||||
#include "shared/test/common/test_macros/hw_test.h"
|
||||
#include "shared/test/common/test_macros/test_base.h"
|
||||
|
||||
#include "level_zero/core/source/cmdlist/cmdlist.h"
|
||||
@@ -23,9 +24,11 @@ extern _ze_driver_handle_t *globalDriverHandle;
|
||||
|
||||
namespace ult {
|
||||
|
||||
using IsGen9ThruPVC = IsWithinProducts<IGFX_SKYLAKE, IGFX_PVC>;
|
||||
|
||||
using MetricIpSamplingEnumerationTest = MetricIpSamplingFixture;
|
||||
|
||||
TEST_F(MetricIpSamplingEnumerationTest, GivenDependenciesAvailableWhenInititializingThenSuccessIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingEnumerationTest, GivenDependenciesAvailableWhenInititializingThenSuccessIsReturned, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
for (auto device : testDevices) {
|
||||
@@ -34,13 +37,13 @@ TEST_F(MetricIpSamplingEnumerationTest, GivenDependenciesAvailableWhenInititiali
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingEnumerationTest, GivenDependenciesUnAvailableForRootDeviceWhenInititializingThenFailureIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingEnumerationTest, GivenDependenciesUnAvailableForRootDeviceWhenInititializingThenFailureIsReturned, IsGen9ThruPVC) {
|
||||
|
||||
osInterfaceVector[0]->isDependencyAvailableReturn = false;
|
||||
EXPECT_EQ(ZE_RESULT_ERROR_DEPENDENCY_UNAVAILABLE, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingEnumerationTest, GivenDependenciesUnAvailableForSubDeviceWhenInititializingThenFailureIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingEnumerationTest, GivenDependenciesUnAvailableForSubDeviceWhenInititializingThenFailureIsReturned, IsGen9ThruPVC) {
|
||||
|
||||
osInterfaceVector[1]->isDependencyAvailableReturn = false;
|
||||
EXPECT_EQ(ZE_RESULT_ERROR_DEPENDENCY_UNAVAILABLE, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
@@ -55,7 +58,7 @@ TEST_F(MetricIpSamplingEnumerationTest, GivenDependenciesUnAvailableForSubDevice
|
||||
EXPECT_TRUE(metricSource1.isAvailable());
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingEnumerationTest, GivenDependenciesAvailableWhenMetricGroupGetIsCalledThenValidMetricGroupIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingEnumerationTest, GivenDependenciesAvailableWhenMetricGroupGetIsCalledThenValidMetricGroupIsReturned, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
for (auto device : testDevices) {
|
||||
@@ -72,7 +75,7 @@ TEST_F(MetricIpSamplingEnumerationTest, GivenDependenciesAvailableWhenMetricGrou
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingEnumerationTest, GivenDependenciesAvailableWhenMetricGroupGetIsCalledMultipleTimesThenValidMetricGroupIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingEnumerationTest, GivenDependenciesAvailableWhenMetricGroupGetIsCalledMultipleTimesThenValidMetricGroupIsReturned, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
for (auto device : testDevices) {
|
||||
@@ -91,7 +94,7 @@ TEST_F(MetricIpSamplingEnumerationTest, GivenDependenciesAvailableWhenMetricGrou
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingEnumerationTest, GivenDependenciesAvailableWhenMetricGroupGetIsCalledThenMetricGroupWithCorrectPropertiesIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingEnumerationTest, GivenDependenciesAvailableWhenMetricGroupGetIsCalledThenMetricGroupWithCorrectPropertiesIsReturned, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
for (auto device : testDevices) {
|
||||
@@ -116,19 +119,19 @@ TEST_F(MetricIpSamplingEnumerationTest, GivenDependenciesAvailableWhenMetricGrou
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingEnumerationTest, GivenDependenciesAvailableWhenMetricGroupGetIsCalledThenCorrectMetricsAreReturned) {
|
||||
struct TestMetricProperties {
|
||||
const char *name;
|
||||
const char *description;
|
||||
const char *component;
|
||||
uint32_t tierNumber;
|
||||
zet_metric_type_t metricType;
|
||||
zet_value_type_t resultType;
|
||||
const char *resultUnits;
|
||||
};
|
||||
|
||||
struct MetricProperties {
|
||||
const char *name;
|
||||
const char *description;
|
||||
const char *component;
|
||||
uint32_t tierNumber;
|
||||
zet_metric_type_t metricType;
|
||||
zet_value_type_t resultType;
|
||||
const char *resultUnits;
|
||||
};
|
||||
HWTEST2_F(MetricIpSamplingEnumerationTest, GivenDependenciesAvailableWhenMetricGroupGetIsCalledThenCorrectMetricsAreReturned, IsGen9ThruPVC) {
|
||||
|
||||
std::vector<struct MetricProperties> expectedProperties = {
|
||||
std::vector<struct TestMetricProperties> expectedProperties = {
|
||||
{"IP", "IP address", "XVE", 4, ZET_METRIC_TYPE_IP, ZET_VALUE_TYPE_UINT64, "Address"},
|
||||
{"Active", "Active cycles", "XVE", 4, ZET_METRIC_TYPE_EVENT, ZET_VALUE_TYPE_UINT64, "Events"},
|
||||
{"ControlStall", "Stall on control", "XVE", 4, ZET_METRIC_TYPE_EVENT, ZET_VALUE_TYPE_UINT64, "Events"},
|
||||
@@ -162,7 +165,7 @@ TEST_F(MetricIpSamplingEnumerationTest, GivenDependenciesAvailableWhenMetricGrou
|
||||
EXPECT_EQ(metricCount, metricGroupProperties.metricCount);
|
||||
|
||||
EXPECT_EQ(zetMetricGet(metricGroups[0], &metricCount, metricHandles.data()), ZE_RESULT_SUCCESS);
|
||||
std::vector<struct MetricProperties>::iterator propertiesIter = expectedProperties.begin();
|
||||
std::vector<struct TestMetricProperties>::iterator propertiesIter = expectedProperties.begin();
|
||||
|
||||
zet_metric_properties_t ipSamplingMetricProperties = {};
|
||||
for (auto &metricHandle : metricHandles) {
|
||||
@@ -179,8 +182,28 @@ TEST_F(MetricIpSamplingEnumerationTest, GivenDependenciesAvailableWhenMetricGrou
|
||||
}
|
||||
}
|
||||
}
|
||||
using IsNotGen9ThruPVC = IsNotWithinProducts<IGFX_SKYLAKE, IGFX_PVC>;
|
||||
HWTEST2_F(MetricIpSamplingEnumerationTest, GivenEnableMetricAPIOnUnsupportedPlatformsThenFailureIsReturned, IsNotGen9ThruPVC) {
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
TEST_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulThenDummyActivationAndDeActivationHappens) {
|
||||
for (auto device : testDevices) {
|
||||
|
||||
uint32_t metricGroupCount = 0;
|
||||
zetMetricGroupGet(device->toHandle(), &metricGroupCount, nullptr);
|
||||
std::vector<zet_metric_group_handle_t> metricGroups;
|
||||
metricGroups.resize(metricGroupCount);
|
||||
ASSERT_EQ(zetMetricGroupGet(device->toHandle(), &metricGroupCount, metricGroups.data()), ZE_RESULT_SUCCESS);
|
||||
ASSERT_NE(metricGroups[0], nullptr);
|
||||
zet_metric_group_properties_t metricGroupProperties = {ZET_STRUCTURE_TYPE_METRIC_GROUP_PROPERTIES, nullptr};
|
||||
EXPECT_EQ(zetMetricGroupGetProperties(metricGroups[0], &metricGroupProperties), ZE_RESULT_SUCCESS);
|
||||
|
||||
EXPECT_EQ(zetContextActivateMetricGroups(context->toHandle(), device->toHandle(), 1, &metricGroups[0]), ZE_RESULT_SUCCESS);
|
||||
static_cast<DeviceImp *>(device)->activateMetricGroups();
|
||||
EXPECT_EQ(zetContextActivateMetricGroups(context->toHandle(), device->toHandle(), 0, nullptr), ZE_RESULT_SUCCESS);
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST2_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulThenDummyActivationAndDeActivationHappens, IsGen9ThruPVC) {
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
for (auto device : testDevices) {
|
||||
@@ -201,7 +224,7 @@ TEST_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulThenDummyAct
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulThenUnsupportedApisForMetricGroupReturnsFailure) {
|
||||
HWTEST2_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulThenUnsupportedApisForMetricGroupReturnsFailure, IsGen9ThruPVC) {
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
for (auto device : testDevices) {
|
||||
@@ -229,7 +252,7 @@ TEST_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulThenUnsuppor
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulWhenReadingMetricsFrequencyAndValidBitsThenConfirmAreTheSameAsDevice) {
|
||||
HWTEST2_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulWhenReadingMetricsFrequencyAndValidBitsThenConfirmAreTheSameAsDevice, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
@@ -259,7 +282,7 @@ TEST_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulWhenReadingM
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulOnMulitDeviceWhenReadingMetricsTimestampThenResultIsSuccess) {
|
||||
HWTEST2_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulOnMulitDeviceWhenReadingMetricsTimestampThenResultIsSuccess, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
@@ -287,7 +310,7 @@ TEST_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulOnMulitDevic
|
||||
|
||||
using MetricIpSamplingTimestampTest = MetricIpSamplingTimestampFixture;
|
||||
|
||||
TEST_F(MetricIpSamplingTimestampTest, GivenEnumerationIsSuccessfulWhenReadingMetricsFrequencyThenValuesAreUpdated) {
|
||||
HWTEST2_F(MetricIpSamplingTimestampTest, GivenEnumerationIsSuccessfulWhenReadingMetricsFrequencyThenValuesAreUpdated, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, device->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
@@ -329,7 +352,7 @@ TEST_F(MetricIpSamplingTimestampTest, GivenEnumerationIsSuccessfulWhenReadingMet
|
||||
EXPECT_NE(metricTimestamp, 0UL);
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingTimestampTest, GivenGetGpuCpuTimeIsFalseWhenReadingMetricsFrequencyThenValuesAreZero) {
|
||||
HWTEST2_F(MetricIpSamplingTimestampTest, GivenGetGpuCpuTimeIsFalseWhenReadingMetricsFrequencyThenValuesAreZero, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, device->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
@@ -359,7 +382,7 @@ TEST_F(MetricIpSamplingTimestampTest, GivenGetGpuCpuTimeIsFalseWhenReadingMetric
|
||||
|
||||
using MetricIpSamplingCalculateMetricsTest = MetricIpSamplingCalculateMetricsFixture;
|
||||
|
||||
TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledThenValidDataIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledThenValidDataIsReturned, IsGen9ThruPVC) {
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
std::vector<zet_typed_value_t> metricValues(30);
|
||||
@@ -411,7 +434,7 @@ TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCal
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledWithInvalidHeaderThenErrorIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledWithInvalidHeaderThenErrorIsReturned, IsGen9ThruPVC) {
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
std::vector<zet_typed_value_t> metricValues(30);
|
||||
@@ -450,7 +473,7 @@ TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCal
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledWithDataFromSingleDeviceThenValidDataIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledWithDataFromSingleDeviceThenValidDataIsReturned, IsGen9ThruPVC) {
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
std::vector<zet_typed_value_t> metricValues(30);
|
||||
@@ -499,7 +522,7 @@ TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCal
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledWithDataFromSingleDeviceAndInvalidRawDataThenErrorIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledWithDataFromSingleDeviceAndInvalidRawDataThenErrorIsReturned, IsGen9ThruPVC) {
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
std::vector<zet_typed_value_t> metricValues(30);
|
||||
@@ -530,7 +553,7 @@ TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCal
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledWithLessThanRequiredMetricCountThenValidDataIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledWithLessThanRequiredMetricCountThenValidDataIsReturned, IsGen9ThruPVC) {
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
std::vector<zet_typed_value_t> metricValues(30);
|
||||
@@ -588,7 +611,7 @@ TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCal
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledWithInvalidRawDataSizeThenErrorIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledWithInvalidRawDataSizeThenErrorIsReturned, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
@@ -617,7 +640,7 @@ TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCal
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingCalculateMetricsTest, WhenCalculateMultipleMetricValuesExpIsCalledWithInvalidRawDataSizeDuringValueCalculationPhaseThenErrorIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, WhenCalculateMultipleMetricValuesExpIsCalledWithInvalidRawDataSizeDuringValueCalculationPhaseThenErrorIsReturned, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
std::vector<zet_typed_value_t> metricValues(30);
|
||||
@@ -654,7 +677,7 @@ TEST_F(MetricIpSamplingCalculateMetricsTest, WhenCalculateMultipleMetricValuesEx
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingCalculateMetricsTest, WhenCalculateMultipleMetricValuesExpCalculateSizeIsCalledWithInvalidRawDataSizeInHeaderDuringSizeCalculationThenErrorIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, WhenCalculateMultipleMetricValuesExpCalculateSizeIsCalledWithInvalidRawDataSizeInHeaderDuringSizeCalculationThenErrorIsReturned, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
@@ -683,7 +706,7 @@ TEST_F(MetricIpSamplingCalculateMetricsTest, WhenCalculateMultipleMetricValuesEx
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingCalculateMetricsTest, WhenCalculateMultipleMetricValuesExpCalculateSizeIsCalledWithInvalidRawDataSizeInHeaderThenErrorIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, WhenCalculateMultipleMetricValuesExpCalculateSizeIsCalledWithInvalidRawDataSizeInHeaderThenErrorIsReturned, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
@@ -713,7 +736,7 @@ TEST_F(MetricIpSamplingCalculateMetricsTest, WhenCalculateMultipleMetricValuesEx
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpCalculateDataWithBadRawDataSizeIsCalledThenErrorUnknownIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpCalculateDataWithBadRawDataSizeIsCalledThenErrorUnknownIsReturned, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
@@ -758,7 +781,7 @@ TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCal
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMetricValuesIsCalledThenValidDataIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMetricValuesIsCalledThenValidDataIsReturned, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
@@ -792,7 +815,7 @@ TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCal
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMetricValuesIsCalledWithDataFromMultipleSubdevicesThenReturnError) {
|
||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMetricValuesIsCalledWithDataFromMultipleSubdevicesThenReturnError, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
@@ -820,7 +843,7 @@ TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCal
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMetricValuesIsCalledWithSmallValueCountThenValidDataIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMetricValuesIsCalledWithSmallValueCountThenValidDataIsReturned, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
@@ -855,7 +878,7 @@ TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCal
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWithBadRawDataSizeWhenCalculateMetricValuesCalculateSizeIsCalledThenErrorUnknownIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWithBadRawDataSizeWhenCalculateMetricValuesCalculateSizeIsCalledThenErrorUnknownIsReturned, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
@@ -878,7 +901,7 @@ TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWithBad
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMetricValuesWithBadRawDataSizeCalculateDataIsCalledThenUnsupportedFeatureIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMetricValuesWithBadRawDataSizeCalculateDataIsCalledThenUnsupportedFeatureIsReturned, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
@@ -907,7 +930,7 @@ TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCal
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingCalculateMetricsTest, GivenDataOverflowOccurredWhenStreamerReadDataIscalledThenCalculateMultipleMetricsValulesExpReturnsOverflowWarning) {
|
||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenDataOverflowOccurredWhenStreamerReadDataIscalledThenCalculateMultipleMetricsValulesExpReturnsOverflowWarning, IsGen9ThruPVC) {
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
std::vector<zet_typed_value_t> metricValues(30);
|
||||
@@ -957,7 +980,7 @@ TEST_F(MetricIpSamplingCalculateMetricsTest, GivenDataOverflowOccurredWhenStream
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWithCALCULATIONTYPEMAXWhenCalculateMetricValuesIsCalledThenErrorUnknownIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWithCALCULATIONTYPEMAXWhenCalculateMetricValuesIsCalledThenErrorUnknownIsReturned, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
@@ -986,7 +1009,7 @@ TEST_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWithCAL
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulWhenQueryPoolCreateIsCalledThenUnsupportedFeatureIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulWhenQueryPoolCreateIsCalledThenUnsupportedFeatureIsReturned, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
for (auto device : testDevices) {
|
||||
@@ -1009,7 +1032,7 @@ TEST_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulWhenQueryPoo
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulWhenAppendMetricMemoryBarrierIsCalledThenUnsupportedFeatureIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulWhenAppendMetricMemoryBarrierIsCalledThenUnsupportedFeatureIsReturned, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
auto &device = testDevices[0];
|
||||
@@ -1021,7 +1044,7 @@ TEST_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulWhenAppendMe
|
||||
|
||||
using MetricExportDataIpSamplingTest = MetricIpSamplingEnumerationTest;
|
||||
|
||||
TEST_F(MetricExportDataIpSamplingTest, WhenMetricGroupGetExportDataIsCalledThenReturnSuccess) {
|
||||
HWTEST2_F(MetricExportDataIpSamplingTest, WhenMetricGroupGetExportDataIsCalledThenReturnSuccess, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
for (auto device : testDevices) {
|
||||
@@ -1053,7 +1076,7 @@ TEST_F(MetricExportDataIpSamplingTest, WhenMetricGroupGetExportDataIsCalledThenR
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricExportDataIpSamplingTest, GivenIncorrectExportDataSizeWhenMetricGroupGetExportDataIsCalledThenErrorIsReturned) {
|
||||
HWTEST2_F(MetricExportDataIpSamplingTest, GivenIncorrectExportDataSizeWhenMetricGroupGetExportDataIsCalledThenErrorIsReturned, IsGen9ThruPVC) {
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
for (auto device : testDevices) {
|
||||
@@ -1094,7 +1117,7 @@ class MockMultiDomainDeferredActivationTracker : public MultiDomainDeferredActiv
|
||||
}
|
||||
};
|
||||
|
||||
TEST_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulAndActivationFailsThenErrorIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulAndActivationFailsThenErrorIsReturned, IsGen9ThruPVC) {
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
for (auto device : testDevices) {
|
||||
@@ -1116,7 +1139,7 @@ TEST_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulAndActivatio
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulWhenUnsupportedFunctionsAreCalledErrorIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulWhenUnsupportedFunctionsAreCalledErrorIsReturned, IsGen9ThruPVC) {
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
for (auto device : testDevices) {
|
||||
@@ -1134,7 +1157,7 @@ TEST_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulWhenUnsuppor
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulWhenUnsupportedFunctionsForDeviceContextAreCalledErrorIsReturned) {
|
||||
HWTEST2_F(MetricIpSamplingEnumerationTest, GivenEnumerationIsSuccessfulWhenUnsupportedFunctionsForDeviceContextAreCalledErrorIsReturned, IsGen9ThruPVC) {
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||
|
||||
for (auto device : testDevices) {
|
||||
|
||||
Reference in New Issue
Block a user