fix: correct gfx_core_helper definitions for EUSS
Related-To: NEO-14337 Signed-off-by: shubham kumar <shubham.kumar@intel.com>
This commit is contained in:
parent
c658720b8e
commit
48bbf12eb5
|
@ -38,182 +38,6 @@ bool L0GfxCoreHelperHw<Family>::forceDefaultUsmCompressionSupport() const {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* 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 at index 48 and 49, subSlice
|
|
||||||
* bytes at index 50 and 51, flags
|
|
||||||
*
|
|
||||||
* total size 64 bytes
|
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma pack(1)
|
|
||||||
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;
|
|
||||||
#pragma pack()
|
|
||||||
|
|
||||||
constexpr uint32_t ipSamplingMetricCountXe = 10u;
|
|
||||||
|
|
||||||
template <typename Family>
|
|
||||||
uint32_t L0GfxCoreHelperHw<Family>::getIpSamplingMetricCount() {
|
|
||||||
return ipSamplingMetricCountXe;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename Family>
|
|
||||||
void L0GfxCoreHelperHw<Family>::stallIpDataMapDelete(std::map<uint64_t, void *> &stallSumIpDataMap) {
|
|
||||||
for (auto i = stallSumIpDataMap.begin(); i != stallSumIpDataMap.end(); i++) {
|
|
||||||
StallSumIpData_t *stallSumData = reinterpret_cast<StallSumIpData_t *>(i->second);
|
|
||||||
if (stallSumData) {
|
|
||||||
delete stallSumData;
|
|
||||||
i->second = nullptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename Family>
|
|
||||||
bool L0GfxCoreHelperHw<Family>::stallIpDataMapUpdate(std::map<uint64_t, void *> &stallSumIpDataMap, const uint8_t *pRawIpData) {
|
|
||||||
constexpr int ipStallSamplingOffset = 3; // Offset to read the first Stall Sampling report after IP Address.
|
|
||||||
constexpr int ipStallSamplingReportShift = 5; // Shift in bits required to read the stall sampling report data due to the IP address [0-28] bits to access the next report category data.
|
|
||||||
constexpr int stallSamplingReportCategoryMask = 0xff; // Mask for Stall Sampling Report Category.
|
|
||||||
constexpr int stallSamplingReportSubSliceAndFlagsOffset = 48; // Offset to access Stall Sampling Report Sub Slice and flags.
|
|
||||||
|
|
||||||
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 = nullptr;
|
|
||||||
if (stallSumIpDataMap.count(ip) == 0) {
|
|
||||||
stallSumData = new StallSumIpData_t{};
|
|
||||||
stallSumData->activeCount = 0;
|
|
||||||
stallSumData->otherCount = 0;
|
|
||||||
stallSumData->controlCount = 0;
|
|
||||||
stallSumData->pipeStallCount = 0;
|
|
||||||
stallSumData->sendCount = 0;
|
|
||||||
stallSumData->distAccCount = 0;
|
|
||||||
stallSumData->sbidCount = 0;
|
|
||||||
stallSumData->syncCount = 0;
|
|
||||||
stallSumData->instFetchCount = 0;
|
|
||||||
stallSumIpDataMap[ip] = stallSumData;
|
|
||||||
} else {
|
|
||||||
stallSumData = reinterpret_cast<StallSumIpData_t *>(stallSumIpDataMap[ip]);
|
|
||||||
}
|
|
||||||
tempAddr += ipStallSamplingOffset;
|
|
||||||
|
|
||||||
auto getCount = [&tempAddr]() {
|
|
||||||
uint16_t tempCount = 0;
|
|
||||||
memcpy_s(reinterpret_cast<uint8_t *>(&tempCount), sizeof(tempCount), tempAddr, sizeof(tempCount));
|
|
||||||
tempCount = (tempCount >> ipStallSamplingReportShift) & stallSamplingReportCategoryMask;
|
|
||||||
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();
|
|
||||||
|
|
||||||
#pragma pack(1)
|
|
||||||
struct StallCntrInfo {
|
|
||||||
uint16_t subslice;
|
|
||||||
uint16_t flags;
|
|
||||||
} stallCntrInfo = {};
|
|
||||||
#pragma pack()
|
|
||||||
|
|
||||||
tempAddr = pRawIpData + stallSamplingReportSubSliceAndFlagsOffset;
|
|
||||||
memcpy_s(reinterpret_cast<uint8_t *>(&stallCntrInfo), sizeof(stallCntrInfo), tempAddr, sizeof(stallCntrInfo));
|
|
||||||
|
|
||||||
constexpr int32_t overflowDropFlag = (1 << 8);
|
|
||||||
return stallCntrInfo.flags & overflowDropFlag;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Order of ipDataValues must match stallSamplingReportList
|
|
||||||
template <typename Family>
|
|
||||||
void L0GfxCoreHelperHw<Family>::stallSumIpDataToTypedValues(uint64_t ip, void *sumIpData, std::vector<zet_typed_value_t> &ipDataValues) {
|
|
||||||
StallSumIpData_t *stallSumData = reinterpret_cast<StallSumIpData_t *>(sumIpData);
|
|
||||||
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 = stallSumData->activeCount;
|
|
||||||
ipDataValues.push_back(tmpValueData);
|
|
||||||
|
|
||||||
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
|
||||||
tmpValueData.value.ui64 = stallSumData->controlCount;
|
|
||||||
ipDataValues.push_back(tmpValueData);
|
|
||||||
|
|
||||||
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
|
||||||
tmpValueData.value.ui64 = stallSumData->pipeStallCount;
|
|
||||||
ipDataValues.push_back(tmpValueData);
|
|
||||||
|
|
||||||
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
|
||||||
tmpValueData.value.ui64 = stallSumData->sendCount;
|
|
||||||
ipDataValues.push_back(tmpValueData);
|
|
||||||
|
|
||||||
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
|
||||||
tmpValueData.value.ui64 = stallSumData->distAccCount;
|
|
||||||
ipDataValues.push_back(tmpValueData);
|
|
||||||
|
|
||||||
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
|
||||||
tmpValueData.value.ui64 = stallSumData->sbidCount;
|
|
||||||
ipDataValues.push_back(tmpValueData);
|
|
||||||
|
|
||||||
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
|
||||||
tmpValueData.value.ui64 = stallSumData->syncCount;
|
|
||||||
ipDataValues.push_back(tmpValueData);
|
|
||||||
|
|
||||||
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
|
||||||
tmpValueData.value.ui64 = stallSumData->instFetchCount;
|
|
||||||
ipDataValues.push_back(tmpValueData);
|
|
||||||
|
|
||||||
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
|
||||||
tmpValueData.value.ui64 = stallSumData->otherCount;
|
|
||||||
ipDataValues.push_back(tmpValueData);
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename Family>
|
|
||||||
std::vector<std::pair<const char *, const char *>> L0GfxCoreHelperHw<Family>::getStallSamplingReportMetrics() const {
|
|
||||||
std::vector<std::pair<const char *, const char *>> stallSamplingReportList = {
|
|
||||||
{"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"},
|
|
||||||
};
|
|
||||||
return stallSamplingReportList;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename Family>
|
template <typename Family>
|
||||||
uint64_t L0GfxCoreHelperHw<Family>::getOaTimestampValidBits() const {
|
uint64_t L0GfxCoreHelperHw<Family>::getOaTimestampValidBits() const {
|
||||||
constexpr uint64_t oaTimestampValidBits = 32u;
|
constexpr uint64_t oaTimestampValidBits = 32u;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2021-2024 Intel Corporation
|
* Copyright (C) 2021-2025 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
|
@ -117,4 +117,31 @@ bool L0GfxCoreHelperHw<Family>::synchronizedDispatchSupported() const {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename Family>
|
||||||
|
uint32_t L0GfxCoreHelperHw<Family>::getIpSamplingMetricCount() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename Family>
|
||||||
|
void L0GfxCoreHelperHw<Family>::stallIpDataMapDelete(std::map<uint64_t, void *> &stallSumIpDataMap) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename Family>
|
||||||
|
bool L0GfxCoreHelperHw<Family>::stallIpDataMapUpdate(std::map<uint64_t, void *> &stallSumIpDataMap, const uint8_t *pRawIpData) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Order of ipDataValues must match stallSamplingReportList
|
||||||
|
template <typename Family>
|
||||||
|
void L0GfxCoreHelperHw<Family>::stallSumIpDataToTypedValues(uint64_t ip, void *sumIpData, std::vector<zet_typed_value_t> &ipDataValues) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename Family>
|
||||||
|
std::vector<std::pair<const char *, const char *>> L0GfxCoreHelperHw<Family>::getStallSamplingReportMetrics() const {
|
||||||
|
std::vector<std::pair<const char *, const char *>> stallSamplingReportList = {};
|
||||||
|
return stallSamplingReportList;
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace L0
|
} // namespace L0
|
||||||
|
|
|
@ -33,6 +33,182 @@ bool L0GfxCoreHelperHw<Family>::platformSupportsStateBaseAddressTracking(const N
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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 at index 48 and 49, subSlice
|
||||||
|
* bytes at index 50 and 51, flags
|
||||||
|
*
|
||||||
|
* total size 64 bytes
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma pack(1)
|
||||||
|
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;
|
||||||
|
#pragma pack()
|
||||||
|
|
||||||
|
constexpr uint32_t ipSamplingMetricCountXe = 10u;
|
||||||
|
|
||||||
|
template <>
|
||||||
|
uint32_t L0GfxCoreHelperHw<Family>::getIpSamplingMetricCount() {
|
||||||
|
return ipSamplingMetricCountXe;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <>
|
||||||
|
void L0GfxCoreHelperHw<Family>::stallIpDataMapDelete(std::map<uint64_t, void *> &stallSumIpDataMap) {
|
||||||
|
for (auto i = stallSumIpDataMap.begin(); i != stallSumIpDataMap.end(); i++) {
|
||||||
|
StallSumIpData_t *stallSumData = reinterpret_cast<StallSumIpData_t *>(i->second);
|
||||||
|
if (stallSumData) {
|
||||||
|
delete stallSumData;
|
||||||
|
i->second = nullptr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
template <>
|
||||||
|
bool L0GfxCoreHelperHw<Family>::stallIpDataMapUpdate(std::map<uint64_t, void *> &stallSumIpDataMap, const uint8_t *pRawIpData) {
|
||||||
|
constexpr int ipStallSamplingOffset = 3; // Offset to read the first Stall Sampling report after IP Address.
|
||||||
|
constexpr int ipStallSamplingReportShift = 5; // Shift in bits required to read the stall sampling report data due to the IP address [0-28] bits to access the next report category data.
|
||||||
|
constexpr int stallSamplingReportCategoryMask = 0xff; // Mask for Stall Sampling Report Category.
|
||||||
|
constexpr int stallSamplingReportSubSliceAndFlagsOffset = 48; // Offset to access Stall Sampling Report Sub Slice and flags.
|
||||||
|
|
||||||
|
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 = nullptr;
|
||||||
|
if (stallSumIpDataMap.count(ip) == 0) {
|
||||||
|
stallSumData = new StallSumIpData_t{};
|
||||||
|
stallSumData->activeCount = 0;
|
||||||
|
stallSumData->otherCount = 0;
|
||||||
|
stallSumData->controlCount = 0;
|
||||||
|
stallSumData->pipeStallCount = 0;
|
||||||
|
stallSumData->sendCount = 0;
|
||||||
|
stallSumData->distAccCount = 0;
|
||||||
|
stallSumData->sbidCount = 0;
|
||||||
|
stallSumData->syncCount = 0;
|
||||||
|
stallSumData->instFetchCount = 0;
|
||||||
|
stallSumIpDataMap[ip] = stallSumData;
|
||||||
|
} else {
|
||||||
|
stallSumData = reinterpret_cast<StallSumIpData_t *>(stallSumIpDataMap[ip]);
|
||||||
|
}
|
||||||
|
tempAddr += ipStallSamplingOffset;
|
||||||
|
|
||||||
|
auto getCount = [&tempAddr]() {
|
||||||
|
uint16_t tempCount = 0;
|
||||||
|
memcpy_s(reinterpret_cast<uint8_t *>(&tempCount), sizeof(tempCount), tempAddr, sizeof(tempCount));
|
||||||
|
tempCount = (tempCount >> ipStallSamplingReportShift) & stallSamplingReportCategoryMask;
|
||||||
|
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();
|
||||||
|
|
||||||
|
#pragma pack(1)
|
||||||
|
struct StallCntrInfo {
|
||||||
|
uint16_t subslice;
|
||||||
|
uint16_t flags;
|
||||||
|
} stallCntrInfo = {};
|
||||||
|
#pragma pack()
|
||||||
|
|
||||||
|
tempAddr = pRawIpData + stallSamplingReportSubSliceAndFlagsOffset;
|
||||||
|
memcpy_s(reinterpret_cast<uint8_t *>(&stallCntrInfo), sizeof(stallCntrInfo), tempAddr, sizeof(stallCntrInfo));
|
||||||
|
|
||||||
|
constexpr int32_t overflowDropFlag = (1 << 8);
|
||||||
|
return stallCntrInfo.flags & overflowDropFlag;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Order of ipDataValues must match stallSamplingReportList
|
||||||
|
template <>
|
||||||
|
void L0GfxCoreHelperHw<Family>::stallSumIpDataToTypedValues(uint64_t ip, void *sumIpData, std::vector<zet_typed_value_t> &ipDataValues) {
|
||||||
|
StallSumIpData_t *stallSumData = reinterpret_cast<StallSumIpData_t *>(sumIpData);
|
||||||
|
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 = stallSumData->activeCount;
|
||||||
|
ipDataValues.push_back(tmpValueData);
|
||||||
|
|
||||||
|
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
||||||
|
tmpValueData.value.ui64 = stallSumData->controlCount;
|
||||||
|
ipDataValues.push_back(tmpValueData);
|
||||||
|
|
||||||
|
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
||||||
|
tmpValueData.value.ui64 = stallSumData->pipeStallCount;
|
||||||
|
ipDataValues.push_back(tmpValueData);
|
||||||
|
|
||||||
|
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
||||||
|
tmpValueData.value.ui64 = stallSumData->sendCount;
|
||||||
|
ipDataValues.push_back(tmpValueData);
|
||||||
|
|
||||||
|
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
||||||
|
tmpValueData.value.ui64 = stallSumData->distAccCount;
|
||||||
|
ipDataValues.push_back(tmpValueData);
|
||||||
|
|
||||||
|
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
||||||
|
tmpValueData.value.ui64 = stallSumData->sbidCount;
|
||||||
|
ipDataValues.push_back(tmpValueData);
|
||||||
|
|
||||||
|
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
||||||
|
tmpValueData.value.ui64 = stallSumData->syncCount;
|
||||||
|
ipDataValues.push_back(tmpValueData);
|
||||||
|
|
||||||
|
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
||||||
|
tmpValueData.value.ui64 = stallSumData->instFetchCount;
|
||||||
|
ipDataValues.push_back(tmpValueData);
|
||||||
|
|
||||||
|
tmpValueData.type = ZET_VALUE_TYPE_UINT64;
|
||||||
|
tmpValueData.value.ui64 = stallSumData->otherCount;
|
||||||
|
ipDataValues.push_back(tmpValueData);
|
||||||
|
}
|
||||||
|
|
||||||
|
template <>
|
||||||
|
std::vector<std::pair<const char *, const char *>> L0GfxCoreHelperHw<Family>::getStallSamplingReportMetrics() const {
|
||||||
|
std::vector<std::pair<const char *, const char *>> stallSamplingReportList = {
|
||||||
|
{"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"},
|
||||||
|
};
|
||||||
|
return stallSamplingReportList;
|
||||||
|
}
|
||||||
|
|
||||||
template class L0GfxCoreHelperHw<Family>;
|
template class L0GfxCoreHelperHw<Family>;
|
||||||
|
|
||||||
} // namespace L0
|
} // namespace L0
|
||||||
|
|
|
@ -76,5 +76,39 @@ GEN12LPTEST_F(L0GfxCoreHelperTestGen12Lp, GivenGen12LpWhenGettingSupportedRTASFo
|
||||||
EXPECT_EQ(ZE_RTAS_FORMAT_EXP_INVALID, l0GfxCoreHelper.getSupportedRTASFormat());
|
EXPECT_EQ(ZE_RTAS_FORMAT_EXP_INVALID, l0GfxCoreHelper.getSupportedRTASFormat());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GEN12LPTEST_F(L0GfxCoreHelperTestGen12Lp, GivenGen12LpWhenGetIpSamplingMetricCountIsCalledThenProperValueIsReturned) {
|
||||||
|
auto &l0GfxCoreHelper = getHelper<L0GfxCoreHelper>();
|
||||||
|
EXPECT_EQ(0u, l0GfxCoreHelper.getIpSamplingMetricCount());
|
||||||
|
}
|
||||||
|
|
||||||
|
GEN12LPTEST_F(L0GfxCoreHelperTestGen12Lp, GivenGen12LpWhenGetStallSamplingReportMetricsThenEmptyListIsReturned) {
|
||||||
|
auto &l0GfxCoreHelper = getHelper<L0GfxCoreHelper>();
|
||||||
|
std::vector<std::pair<const char *, const char *>> expectedStallSamplingReportList = {};
|
||||||
|
EXPECT_EQ(expectedStallSamplingReportList, l0GfxCoreHelper.getStallSamplingReportMetrics());
|
||||||
|
}
|
||||||
|
|
||||||
|
GEN12LPTEST_F(L0GfxCoreHelperTestGen12Lp, GivenGen12LpWhenStallIpDataMapUpdateIsCalledThenFalseIsReturned) {
|
||||||
|
auto &l0GfxCoreHelper = getHelper<L0GfxCoreHelper>();
|
||||||
|
std::map<uint64_t, void *> stallSumIpDataMap;
|
||||||
|
EXPECT_FALSE(l0GfxCoreHelper.stallIpDataMapUpdate(stallSumIpDataMap, nullptr));
|
||||||
|
}
|
||||||
|
|
||||||
|
GEN12LPTEST_F(L0GfxCoreHelperTestGen12Lp, GivenGen12LpWhenStallIpDataMapDeleteIsCalledThenMapisUnchanged) {
|
||||||
|
auto &l0GfxCoreHelper = getHelper<L0GfxCoreHelper>();
|
||||||
|
std::map<uint64_t, void *> stallSumIpDataMap;
|
||||||
|
size_t mapSizeBefore = stallSumIpDataMap.size();
|
||||||
|
l0GfxCoreHelper.stallIpDataMapDelete(stallSumIpDataMap);
|
||||||
|
EXPECT_EQ(mapSizeBefore, stallSumIpDataMap.size());
|
||||||
|
}
|
||||||
|
|
||||||
|
GEN12LPTEST_F(L0GfxCoreHelperTestGen12Lp, GivenGen12LpWhenStallSumIpDataToTypedValuesIsCalledThenNoChangeToDataValues) {
|
||||||
|
auto &l0GfxCoreHelper = getHelper<L0GfxCoreHelper>();
|
||||||
|
uint64_t ip = 0ull;
|
||||||
|
void *sumIpData = nullptr;
|
||||||
|
std::vector<zet_typed_value_t> ipDataValues;
|
||||||
|
l0GfxCoreHelper.stallSumIpDataToTypedValues(ip, sumIpData, ipDataValues);
|
||||||
|
EXPECT_EQ(0u, ipDataValues.size());
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace ult
|
} // namespace ult
|
||||||
} // namespace L0
|
} // namespace L0
|
||||||
|
|
|
@ -79,5 +79,39 @@ XE_HPG_CORETEST_F(L0GfxCoreHelperTestXeHpg, GivenXeHpgWhenGettingCmdlistUpdateCa
|
||||||
EXPECT_EQ(62u, l0GfxCoreHelper.getPlatformCmdListUpdateCapabilities());
|
EXPECT_EQ(62u, l0GfxCoreHelper.getPlatformCmdListUpdateCapabilities());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
XE_HPG_CORETEST_F(L0GfxCoreHelperTestXeHpg, GivenXeHpgWhenGetIpSamplingMetricCountIsCalledThenProperValueIsReturned) {
|
||||||
|
auto &l0GfxCoreHelper = getHelper<L0GfxCoreHelper>();
|
||||||
|
EXPECT_EQ(0u, l0GfxCoreHelper.getIpSamplingMetricCount());
|
||||||
|
}
|
||||||
|
|
||||||
|
XE_HPG_CORETEST_F(L0GfxCoreHelperTestXeHpg, GivenXeHpgWhenGetStallSamplingReportMetricsThenEmptyListIsReturned) {
|
||||||
|
auto &l0GfxCoreHelper = getHelper<L0GfxCoreHelper>();
|
||||||
|
std::vector<std::pair<const char *, const char *>> expectedStallSamplingReportList = {};
|
||||||
|
EXPECT_EQ(expectedStallSamplingReportList, l0GfxCoreHelper.getStallSamplingReportMetrics());
|
||||||
|
}
|
||||||
|
|
||||||
|
XE_HPG_CORETEST_F(L0GfxCoreHelperTestXeHpg, GivenXeHpgWhenStallIpDataMapUpdateIsCalledThenFalseIsReturned) {
|
||||||
|
auto &l0GfxCoreHelper = getHelper<L0GfxCoreHelper>();
|
||||||
|
std::map<uint64_t, void *> stallSumIpDataMap;
|
||||||
|
EXPECT_FALSE(l0GfxCoreHelper.stallIpDataMapUpdate(stallSumIpDataMap, nullptr));
|
||||||
|
}
|
||||||
|
|
||||||
|
XE_HPG_CORETEST_F(L0GfxCoreHelperTestXeHpg, GivenXeHpgWhenStallIpDataMapDeleteIsCalledThenMapisUnchanged) {
|
||||||
|
auto &l0GfxCoreHelper = getHelper<L0GfxCoreHelper>();
|
||||||
|
std::map<uint64_t, void *> stallSumIpDataMap;
|
||||||
|
size_t mapSizeBefore = stallSumIpDataMap.size();
|
||||||
|
l0GfxCoreHelper.stallIpDataMapDelete(stallSumIpDataMap);
|
||||||
|
EXPECT_EQ(mapSizeBefore, stallSumIpDataMap.size());
|
||||||
|
}
|
||||||
|
|
||||||
|
XE_HPG_CORETEST_F(L0GfxCoreHelperTestXeHpg, GivenXeHpgWhenStallSumIpDataToTypedValuesIsCalledThenNoChangeToDataValues) {
|
||||||
|
auto &l0GfxCoreHelper = getHelper<L0GfxCoreHelper>();
|
||||||
|
uint64_t ip = 0ull;
|
||||||
|
void *sumIpData = nullptr;
|
||||||
|
std::vector<zet_typed_value_t> ipDataValues;
|
||||||
|
l0GfxCoreHelper.stallSumIpDataToTypedValues(ip, sumIpData, ipDataValues);
|
||||||
|
EXPECT_EQ(0u, ipDataValues.size());
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace ult
|
} // namespace ult
|
||||||
} // namespace L0
|
} // namespace L0
|
||||||
|
|
|
@ -18,8 +18,7 @@ namespace L0 {
|
||||||
namespace ult {
|
namespace ult {
|
||||||
class MockMetricIpSamplingOsInterface;
|
class MockMetricIpSamplingOsInterface;
|
||||||
|
|
||||||
using EustallSupportedPlatforms = IsWithinProducts<IGFX_SKYLAKE, IGFX_PVC>;
|
using EustallSupportedPlatforms = IsProduct<IGFX_PVC>;
|
||||||
using IsGen9ToPVC = IsWithinProducts<IGFX_SKYLAKE, IGFX_PVC>;
|
|
||||||
|
|
||||||
class MockStallRawIpData {
|
class MockStallRawIpData {
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -556,7 +556,7 @@ HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhen
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledWithInvalidHeaderThenErrorIsReturned, IsGen9ToPVC) {
|
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledWithInvalidHeaderThenErrorIsReturned, EustallSupportedPlatforms) {
|
||||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||||
|
|
||||||
std::vector<zet_typed_value_t> metricValues(30);
|
std::vector<zet_typed_value_t> metricValues(30);
|
||||||
|
@ -595,7 +595,7 @@ HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhen
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledWithDataFromSingleDeviceThenValidDataIsReturned, IsGen9ToPVC) {
|
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledWithDataFromSingleDeviceThenValidDataIsReturned, EustallSupportedPlatforms) {
|
||||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||||
|
|
||||||
std::vector<zet_typed_value_t> metricValues(30);
|
std::vector<zet_typed_value_t> metricValues(30);
|
||||||
|
@ -644,7 +644,7 @@ HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhen
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledWithDataFromSingleDeviceAndInvalidRawDataThenErrorIsReturned, IsGen9ToPVC) {
|
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledWithDataFromSingleDeviceAndInvalidRawDataThenErrorIsReturned, EustallSupportedPlatforms) {
|
||||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||||
|
|
||||||
std::vector<zet_typed_value_t> metricValues(30);
|
std::vector<zet_typed_value_t> metricValues(30);
|
||||||
|
@ -675,7 +675,7 @@ HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhen
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledWithLessThanRequiredMetricCountThenValidDataIsReturned, IsGen9ToPVC) {
|
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledWithLessThanRequiredMetricCountThenValidDataIsReturned, EustallSupportedPlatforms) {
|
||||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||||
|
|
||||||
std::vector<zet_typed_value_t> metricValues(30);
|
std::vector<zet_typed_value_t> metricValues(30);
|
||||||
|
@ -733,7 +733,7 @@ HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhen
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledWithInvalidRawDataSizeThenErrorIsReturned, IsGen9ToPVC) {
|
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpIsCalledWithInvalidRawDataSizeThenErrorIsReturned, EustallSupportedPlatforms) {
|
||||||
|
|
||||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||||
|
|
||||||
|
@ -762,7 +762,7 @@ HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhen
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, WhenCalculateMultipleMetricValuesExpIsCalledWithInvalidRawDataSizeDuringValueCalculationPhaseThenErrorIsReturned, IsGen9ToPVC) {
|
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, WhenCalculateMultipleMetricValuesExpIsCalledWithInvalidRawDataSizeDuringValueCalculationPhaseThenErrorIsReturned, EustallSupportedPlatforms) {
|
||||||
|
|
||||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||||
std::vector<zet_typed_value_t> metricValues(30);
|
std::vector<zet_typed_value_t> metricValues(30);
|
||||||
|
@ -799,7 +799,7 @@ HWTEST2_F(MetricIpSamplingCalculateMetricsTest, WhenCalculateMultipleMetricValue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, WhenCalculateMultipleMetricValuesExpCalculateSizeIsCalledWithInvalidRawDataSizeInHeaderDuringSizeCalculationThenErrorIsReturned, IsGen9ToPVC) {
|
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, WhenCalculateMultipleMetricValuesExpCalculateSizeIsCalledWithInvalidRawDataSizeInHeaderDuringSizeCalculationThenErrorIsReturned, EustallSupportedPlatforms) {
|
||||||
|
|
||||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||||
|
|
||||||
|
@ -828,7 +828,7 @@ HWTEST2_F(MetricIpSamplingCalculateMetricsTest, WhenCalculateMultipleMetricValue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, WhenCalculateMultipleMetricValuesExpCalculateSizeIsCalledWithInvalidRawDataSizeInHeaderThenErrorIsReturned, IsGen9ToPVC) {
|
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, WhenCalculateMultipleMetricValuesExpCalculateSizeIsCalledWithInvalidRawDataSizeInHeaderThenErrorIsReturned, EustallSupportedPlatforms) {
|
||||||
|
|
||||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||||
|
|
||||||
|
@ -858,7 +858,7 @@ HWTEST2_F(MetricIpSamplingCalculateMetricsTest, WhenCalculateMultipleMetricValue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpCalculateDataWithBadRawDataSizeIsCalledThenErrorUnknownIsReturned, IsGen9ToPVC) {
|
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMultipleMetricValuesExpCalculateDataWithBadRawDataSizeIsCalledThenErrorUnknownIsReturned, EustallSupportedPlatforms) {
|
||||||
|
|
||||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||||
|
|
||||||
|
@ -904,7 +904,7 @@ HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhen
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMetricValuesIsCalledThenValidDataIsReturned, IsGen9ToPVC) {
|
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMetricValuesIsCalledThenValidDataIsReturned, EustallSupportedPlatforms) {
|
||||||
|
|
||||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||||
|
|
||||||
|
@ -938,7 +938,7 @@ HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhen
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMetricValuesIsCalledWithDataFromMultipleSubdevicesThenReturnError, IsGen9ToPVC) {
|
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMetricValuesIsCalledWithDataFromMultipleSubdevicesThenReturnError, EustallSupportedPlatforms) {
|
||||||
|
|
||||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||||
|
|
||||||
|
@ -966,7 +966,7 @@ HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhen
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMetricValuesIsCalledWithSmallValueCountThenValidDataIsReturned, IsGen9ToPVC) {
|
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMetricValuesIsCalledWithSmallValueCountThenValidDataIsReturned, EustallSupportedPlatforms) {
|
||||||
|
|
||||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||||
|
|
||||||
|
@ -1001,7 +1001,7 @@ HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhen
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWithBadRawDataSizeWhenCalculateMetricValuesCalculateSizeIsCalledThenErrorUnknownIsReturned, IsGen9ToPVC) {
|
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWithBadRawDataSizeWhenCalculateMetricValuesCalculateSizeIsCalledThenErrorUnknownIsReturned, EustallSupportedPlatforms) {
|
||||||
|
|
||||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||||
|
|
||||||
|
@ -1024,7 +1024,7 @@ HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWith
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMetricValuesWithBadRawDataSizeCalculateDataIsCalledThenUnsupportedFeatureIsReturned, IsGen9ToPVC) {
|
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhenCalculateMetricValuesWithBadRawDataSizeCalculateDataIsCalledThenUnsupportedFeatureIsReturned, EustallSupportedPlatforms) {
|
||||||
|
|
||||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||||
|
|
||||||
|
@ -1053,7 +1053,7 @@ HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWhen
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenDataOverflowOccurredWhenStreamerReadDataIscalledThenCalculateMultipleMetricsValulesExpReturnsOverflowWarning, IsGen9ToPVC) {
|
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenDataOverflowOccurredWhenStreamerReadDataIscalledThenCalculateMultipleMetricsValulesExpReturnsOverflowWarning, EustallSupportedPlatforms) {
|
||||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||||
|
|
||||||
std::vector<zet_typed_value_t> metricValues(30);
|
std::vector<zet_typed_value_t> metricValues(30);
|
||||||
|
@ -1103,7 +1103,7 @@ HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenDataOverflowOccurredWhenStr
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWithCALCULATIONTYPEMAXWhenCalculateMetricValuesIsCalledThenErrorUnknownIsReturned, IsGen9ToPVC) {
|
HWTEST2_F(MetricIpSamplingCalculateMetricsTest, GivenEnumerationIsSuccessfulWithCALCULATIONTYPEMAXWhenCalculateMetricValuesIsCalledThenErrorUnknownIsReturned, EustallSupportedPlatforms) {
|
||||||
|
|
||||||
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
EXPECT_EQ(ZE_RESULT_SUCCESS, testDevices[0]->getMetricDeviceContext().enableMetricApi());
|
||||||
|
|
||||||
|
|
|
@ -714,6 +714,14 @@ struct IsWithinGfxCore {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template <GFXCORE_FAMILY gfxCoreFamilyMin, GFXCORE_FAMILY gfxCoreFamilyMax>
|
||||||
|
struct IsNotWithinGfxCore {
|
||||||
|
template <PRODUCT_FAMILY productFamily>
|
||||||
|
static constexpr bool isMatched() {
|
||||||
|
return NEO::ToGfxCoreFamily<productFamily>::get() < gfxCoreFamilyMin && NEO::ToGfxCoreFamily<productFamily>::get() > gfxCoreFamilyMax;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
template <GFXCORE_FAMILY... args>
|
template <GFXCORE_FAMILY... args>
|
||||||
struct IsAnyGfxCores {
|
struct IsAnyGfxCores {
|
||||||
template <PRODUCT_FAMILY productFamily>
|
template <PRODUCT_FAMILY productFamily>
|
||||||
|
|
Loading…
Reference in New Issue