refactor: numThreadsPerEu

Signed-off-by: Radoslaw Jablonski <radoslaw.jablonski@intel.com>
This commit is contained in:
Radoslaw Jablonski
2025-08-20 17:36:09 +00:00
committed by Compute-Runtime-Automation
parent 26d9fa49cd
commit 393604ef80
61 changed files with 175 additions and 208 deletions

View File

@@ -104,7 +104,8 @@ void ADLN::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo) {
void ADLN::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, const ReleaseHelper *releaseHelper) {
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
gtSysInfo->ThreadCount = gtSysInfo->EUCount * 7u;
gtSysInfo->NumThreadsPerEu = 7u;
gtSysInfo->ThreadCount = gtSysInfo->EUCount * gtSysInfo->NumThreadsPerEu;
gtSysInfo->TotalPsThreadsWindowerRange = 64;
gtSysInfo->CsrSizeInMb = 8;
gtSysInfo->MaxEuPerSubSlice = ADLN::maxEuPerSubslice;
@@ -117,6 +118,8 @@ void ADLN::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAnd
if (setupFeatureTableAndWorkaroundTable) {
setupFeatureAndWorkaroundTable(hwInfo);
}
applyDebugOverrides(*hwInfo);
}
const HardwareInfo AdlnHwConfig::hwInfo = {

View File

@@ -104,7 +104,8 @@ void ADLP::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo) {
void ADLP::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, const ReleaseHelper *releaseHelper) {
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
gtSysInfo->ThreadCount = gtSysInfo->EUCount * 7u;
gtSysInfo->NumThreadsPerEu = 7u;
gtSysInfo->ThreadCount = gtSysInfo->EUCount * gtSysInfo->NumThreadsPerEu;
gtSysInfo->TotalPsThreadsWindowerRange = 64;
gtSysInfo->CsrSizeInMb = 8;
gtSysInfo->MaxEuPerSubSlice = ADLP::maxEuPerSubslice;
@@ -117,6 +118,8 @@ void ADLP::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAnd
if (setupFeatureTableAndWorkaroundTable) {
setupFeatureAndWorkaroundTable(hwInfo);
}
applyDebugOverrides(*hwInfo);
}
const HardwareInfo AdlpHwConfig::hwInfo = {

View File

@@ -104,7 +104,8 @@ void ADLS::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo) {
void ADLS::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, const ReleaseHelper *releaseHelper) {
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
gtSysInfo->ThreadCount = gtSysInfo->EUCount * 7u;
gtSysInfo->NumThreadsPerEu = 7u;
gtSysInfo->ThreadCount = gtSysInfo->EUCount * gtSysInfo->NumThreadsPerEu;
gtSysInfo->TotalPsThreadsWindowerRange = 64;
gtSysInfo->CsrSizeInMb = 8;
gtSysInfo->MaxEuPerSubSlice = ADLS::maxEuPerSubslice;
@@ -117,6 +118,8 @@ void ADLS::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAnd
if (setupFeatureTableAndWorkaroundTable) {
setupFeatureAndWorkaroundTable(hwInfo);
}
applyDebugOverrides(*hwInfo);
}
const HardwareInfo AdlsHwConfig::hwInfo = {

View File

@@ -105,7 +105,8 @@ void DG1::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo) {
void DG1::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, const ReleaseHelper *releaseHelper) {
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
gtSysInfo->ThreadCount = gtSysInfo->EUCount * 7u;
gtSysInfo->NumThreadsPerEu = 7u;
gtSysInfo->ThreadCount = gtSysInfo->EUCount * gtSysInfo->NumThreadsPerEu;
gtSysInfo->TotalVsThreads = 672;
gtSysInfo->TotalHsThreads = 672;
gtSysInfo->TotalDsThreads = 672;
@@ -122,6 +123,8 @@ void DG1::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndW
if (setupFeatureTableAndWorkaroundTable) {
setupFeatureAndWorkaroundTable(hwInfo);
}
applyDebugOverrides(*hwInfo);
}
const HardwareInfo Dg1HwConfig::hwInfo = {

View File

@@ -103,7 +103,8 @@ void RKL::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo) {
void RKL::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, const ReleaseHelper *releaseHelper) {
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
gtSysInfo->ThreadCount = gtSysInfo->EUCount * 7u;
gtSysInfo->NumThreadsPerEu = 7u;
gtSysInfo->ThreadCount = gtSysInfo->EUCount * gtSysInfo->NumThreadsPerEu;
gtSysInfo->TotalVsThreads = 0;
gtSysInfo->TotalHsThreads = 0;
gtSysInfo->TotalDsThreads = 0;
@@ -120,6 +121,8 @@ void RKL::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndW
if (setupFeatureTableAndWorkaroundTable) {
setupFeatureAndWorkaroundTable(hwInfo);
}
applyDebugOverrides(*hwInfo);
}
const HardwareInfo RklHwConfig::hwInfo = {

View File

@@ -104,7 +104,8 @@ void TGLLP::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo) {
void TGLLP::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, const ReleaseHelper *releaseHelper) {
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
gtSysInfo->ThreadCount = gtSysInfo->EUCount * 7u;
gtSysInfo->NumThreadsPerEu = 7u;
gtSysInfo->ThreadCount = gtSysInfo->EUCount * gtSysInfo->NumThreadsPerEu;
gtSysInfo->TotalPsThreadsWindowerRange = 64;
gtSysInfo->CsrSizeInMb = 8;
gtSysInfo->MaxEuPerSubSlice = TGLLP::maxEuPerSubslice;
@@ -117,6 +118,8 @@ void TGLLP::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAn
if (setupFeatureTableAndWorkaroundTable) {
setupFeatureAndWorkaroundTable(hwInfo);
}
applyDebugOverrides(*hwInfo);
}
const HardwareInfo TgllpHw1x6x16::hwInfo = {

View File

@@ -53,7 +53,7 @@ bool GfxCoreHelper::cacheFlushAfterWalkerSupported(const HardwareInfo &hwInfo) {
}
uint32_t GfxCoreHelper::getMaxThreadsForVfe(const HardwareInfo &hwInfo) {
uint32_t threadsPerEU = (hwInfo.gtSystemInfo.ThreadCount / hwInfo.gtSystemInfo.EUCount) + hwInfo.capabilityTable.extraQuantityThreadsPerEU;
uint32_t threadsPerEU = hwInfo.gtSystemInfo.NumThreadsPerEu + hwInfo.capabilityTable.extraQuantityThreadsPerEU;
auto maxHwThreadsCapable = hwInfo.gtSystemInfo.EUCount * threadsPerEU;
auto maxHwThreadsReturned = maxHwThreadsCapable;
if (debugManager.flags.MaxHwThreadsPercent.get() != 0) {

View File

@@ -132,7 +132,7 @@ aub_stream::EngineType getChosenEngineType(const HardwareInfo &hwInfo) {
? hwInfo.capabilityTable.defaultEngineType
: static_cast<aub_stream::EngineType>(debugManager.flags.NodeOrdinal.get());
}
void setupDefaultGtSysInfo(HardwareInfo *hwInfo, const ReleaseHelper *releaseHelper) {
void setupDefaultGtSysInfo(HardwareInfo *hwInfo) {
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
gtSysInfo->L3CacheSizeInKb = 1;
gtSysInfo->CCSInfo.IsValid = 1;
@@ -144,14 +144,14 @@ void setupDefaultGtSysInfo(HardwareInfo *hwInfo, const ReleaseHelper *releaseHel
gtSysInfo->SubSliceCount = 8;
gtSysInfo->DualSubSliceCount = gtSysInfo->SubSliceCount;
gtSysInfo->EUCount = 64;
gtSysInfo->NumThreadsPerEu = 8u;
gtSysInfo->ThreadCount = gtSysInfo->EUCount * gtSysInfo->NumThreadsPerEu;
gtSysInfo->MaxEuPerSubSlice = gtSysInfo->EUCount / gtSysInfo->SubSliceCount;
gtSysInfo->MaxSlicesSupported = gtSysInfo->SliceCount;
gtSysInfo->MaxSubSlicesSupported = gtSysInfo->SubSliceCount;
gtSysInfo->MaxDualSubSlicesSupported = gtSysInfo->DualSubSliceCount;
}
gtSysInfo->ThreadCount = gtSysInfo->EUCount * releaseHelper->getNumThreadsPerEu();
}
void setupDefaultFeatureTableAndWorkaroundTable(HardwareInfo *hwInfo, const ReleaseHelper &releaseHelper) {
@@ -181,6 +181,13 @@ void setupDefaultFeatureTableAndWorkaroundTable(HardwareInfo *hwInfo, const Rele
workaroundTable->flags.wa4kAlignUVOffsetNV12LinearSurface = true;
}
void applyDebugOverrides(HardwareInfo &hwInfo) {
if (debugManager.flags.OverrideNumThreadsPerEu.get() != -1) {
hwInfo.gtSystemInfo.NumThreadsPerEu = debugManager.flags.OverrideNumThreadsPerEu.get();
hwInfo.gtSystemInfo.ThreadCount = hwInfo.gtSystemInfo.EUCount * hwInfo.gtSystemInfo.NumThreadsPerEu;
}
}
uint32_t getNumSubSlicesPerSlice(const HardwareInfo &hwInfo) {
return static_cast<uint32_t>(Math::divideAndRoundUp(hwInfo.gtSystemInfo.SubSliceCount, hwInfo.gtSystemInfo.SliceCount));
}

View File

@@ -93,8 +93,9 @@ bool getHwInfoForPlatformString(std::string &platform, const HardwareInfo *&hwIn
void setHwInfoValuesFromConfig(const uint64_t hwInfoConfig, HardwareInfo &hwInfoIn);
bool parseHwInfoConfigString(const std::string &hwInfoConfigStr, uint64_t &hwInfoConfig);
aub_stream::EngineType getChosenEngineType(const HardwareInfo &hwInfo);
void setupDefaultGtSysInfo(HardwareInfo *hwInfo, const ReleaseHelper *releaseHelper);
void setupDefaultGtSysInfo(HardwareInfo *hwInfo);
void setupDefaultFeatureTableAndWorkaroundTable(HardwareInfo *hwInfo, const ReleaseHelper &releaseHelper);
uint32_t getNumSubSlicesPerSlice(const HardwareInfo &hwInfo);
void applyDebugOverrides(HardwareInfo &hwInfo);
} // namespace NEO

View File

@@ -61,7 +61,7 @@ class RayTracingHelper : public NonCopyableAndNonMovableClass {
UNRECOVERABLE_IF(hwInfo.gtSystemInfo.EUCount == 0)
uint32_t maxNumEUsPerDSS = hwInfo.gtSystemInfo.MaxEuPerSubSlice;
uint32_t maxNumThreadsPerEU = hwInfo.gtSystemInfo.ThreadCount / hwInfo.gtSystemInfo.EUCount;
uint32_t maxNumThreadsPerEU = hwInfo.gtSystemInfo.NumThreadsPerEu;
uint32_t maxSIMTThreadsPerThread = CommonConstants::maximalSimdSize;
return std::min(maxSizeOfRtStacksPerDss, maxNumEUsPerDSS * maxNumThreadsPerEU * maxSIMTThreadsPerThread);

View File

@@ -510,6 +510,8 @@ int Drm::setupHardwareInfo(const DeviceDescriptor *device, bool setupFeatureTabl
if (numRegions > 0) {
hwInfo->featureTable.regionCount = numRegions;
}
hwInfo->gtSystemInfo.NumThreadsPerEu = systemInfo->getNumThreadsPerEu();
}
auto &productHelper = rootDeviceEnvironment.getProductHelper();
@@ -618,12 +620,11 @@ int Drm::setupHardwareInfo(const DeviceDescriptor *device, bool setupFeatureTabl
return -1;
}
auto numThreadsPerEu = systemInfo ? systemInfo->getNumThreadsPerEu() : (releaseHelper ? releaseHelper->getNumThreadsPerEu() : 7u);
if (debugManager.flags.OverrideNumThreadsPerEu.get() != -1) {
numThreadsPerEu = debugManager.flags.OverrideNumThreadsPerEu.get();
hwInfo->gtSystemInfo.NumThreadsPerEu = debugManager.flags.OverrideNumThreadsPerEu.get();
}
hwInfo->gtSystemInfo.ThreadCount = numThreadsPerEu * hwInfo->gtSystemInfo.EUCount;
hwInfo->gtSystemInfo.ThreadCount = hwInfo->gtSystemInfo.NumThreadsPerEu * hwInfo->gtSystemInfo.EUCount;
if (ioctlHelper->overrideMaxSlicesSupported()) {
hwInfo->gtSystemInfo.MaxSlicesSupported = hwInfo->gtSystemInfo.SliceCount;

View File

@@ -248,8 +248,7 @@ bool ProductHelperHw<gfxProduct>::isMaxThreadsForWorkgroupWARequired(const Hardw
template <PRODUCT_FAMILY gfxProduct>
uint32_t ProductHelperHw<gfxProduct>::getMaxThreadsForWorkgroup(const HardwareInfo &hwInfo, uint32_t maxNumEUsPerSubSlice) const {
uint32_t numThreadsPerEU = hwInfo.gtSystemInfo.ThreadCount / hwInfo.gtSystemInfo.EUCount;
return maxNumEUsPerSubSlice * numThreadsPerEU;
return maxNumEUsPerSubSlice * hwInfo.gtSystemInfo.NumThreadsPerEu;
}
template <PRODUCT_FAMILY gfxProduct>

View File

@@ -110,6 +110,9 @@ bool Wddm::init() {
hardwareInfo->capabilityTable.instrumentationEnabled =
(hardwareInfo->capabilityTable.instrumentationEnabled && instrumentationEnabled);
DEBUG_BREAK_IF(hardwareInfo->gtSystemInfo.NumThreadsPerEu != hardwareInfo->gtSystemInfo.ThreadCount / hardwareInfo->gtSystemInfo.EUCount);
hardwareInfo->gtSystemInfo.NumThreadsPerEu = hardwareInfo->gtSystemInfo.ThreadCount / hardwareInfo->gtSystemInfo.EUCount;
rootDeviceEnvironment.initProductHelper();
rootDeviceEnvironment.initCompilerProductHelper();
auto &productHelper = rootDeviceEnvironment.getHelper<ProductHelper>();

View File

@@ -49,7 +49,6 @@ class ReleaseHelper {
virtual std::vector<uint32_t> getSupportedNumGrfs() const = 0;
virtual bool isBindlessAddressingDisabled() const = 0;
virtual bool isGlobalBindlessAllocatorEnabled() const = 0;
virtual uint32_t getNumThreadsPerEu() const = 0;
virtual uint64_t getTotalMemBankSize() const = 0;
virtual const ThreadsPerEUConfigs getThreadsPerEUConfigs(uint32_t numThreadsPerEu) const = 0;
virtual const std::string getDeviceConfigString(uint32_t tileCount, uint32_t sliceCount, uint32_t subSliceCount, uint32_t euPerSubSliceCount) const = 0;
@@ -97,7 +96,6 @@ class ReleaseHelperHw : public ReleaseHelper {
std::vector<uint32_t> getSupportedNumGrfs() const override;
bool isBindlessAddressingDisabled() const override;
bool isGlobalBindlessAllocatorEnabled() const override;
uint32_t getNumThreadsPerEu() const override;
uint64_t getTotalMemBankSize() const override;
const StackVec<uint32_t, 6> getThreadsPerEUConfigs(uint32_t numThreadsPerEu) const override;
const std::string getDeviceConfigString(uint32_t tileCount, uint32_t sliceCount, uint32_t subSliceCount, uint32_t euPerSubSliceCount) const override;

View File

@@ -24,14 +24,6 @@ std::vector<uint32_t> ReleaseHelperHw<release>::getSupportedNumGrfs() const {
return {32u, 64u, 96u, 128u, 160u, 192u, 256u};
}
template <>
uint32_t ReleaseHelperHw<release>::getNumThreadsPerEu() const {
if (debugManager.flags.OverrideNumThreadsPerEu.get() != -1) {
return debugManager.flags.OverrideNumThreadsPerEu.get();
}
return 10;
}
template <>
bool ReleaseHelperHw<release>::isLocalOnlyAllowed() const {
return false;

View File

@@ -24,14 +24,6 @@ std::vector<uint32_t> ReleaseHelperHw<release>::getSupportedNumGrfs() const {
return {32u, 64u, 96u, 128u, 160u, 192u, 256u};
}
template <>
uint32_t ReleaseHelperHw<release>::getNumThreadsPerEu() const {
if (debugManager.flags.OverrideNumThreadsPerEu.get() != -1) {
return debugManager.flags.OverrideNumThreadsPerEu.get();
}
return 10;
}
template <>
bool ReleaseHelperHw<release>::isLocalOnlyAllowed() const {
return false;

View File

@@ -24,14 +24,6 @@ std::vector<uint32_t> ReleaseHelperHw<release>::getSupportedNumGrfs() const {
return {32u, 64u, 96u, 128u, 160u, 192u, 256u};
}
template <>
uint32_t ReleaseHelperHw<release>::getNumThreadsPerEu() const {
if (debugManager.flags.OverrideNumThreadsPerEu.get() != -1) {
return debugManager.flags.OverrideNumThreadsPerEu.get();
}
return 10;
}
template <>
bool ReleaseHelperHw<release>::isLocalOnlyAllowed() const {
return false;

View File

@@ -90,14 +90,6 @@ bool ReleaseHelperHw<releaseType>::isGlobalBindlessAllocatorEnabled() const {
return false;
}
template <ReleaseType releaseType>
uint32_t ReleaseHelperHw<releaseType>::getNumThreadsPerEu() const {
if (debugManager.flags.OverrideNumThreadsPerEu.get() != -1) {
return debugManager.flags.OverrideNumThreadsPerEu.get();
}
return 8u;
}
template <ReleaseType releaseType>
uint64_t ReleaseHelperHw<releaseType>::getTotalMemBankSize() const {
return 32ull * MemoryConstants::gigaByte;

View File

@@ -106,12 +106,17 @@ GT_SYSTEM_INFO BmgHwConfig::gtSystemInfo = {};
const HardwareInfo BMG::hwInfo = BmgHwConfig::hwInfo;
void BMG::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, const ReleaseHelper *releaseHelper) {
setupDefaultGtSysInfo(hwInfo, releaseHelper);
setupDefaultGtSysInfo(hwInfo);
hwInfo->gtSystemInfo.NumThreadsPerEu = 8u;
hwInfo->gtSystemInfo.ThreadCount = hwInfo->gtSystemInfo.EUCount * hwInfo->gtSystemInfo.NumThreadsPerEu;
BMG::adjustHardwareInfo(hwInfo);
if (setupFeatureTableAndWorkaroundTable) {
BMG::setupFeatureAndWorkaroundTable(hwInfo, *releaseHelper);
}
applyDebugOverrides(*hwInfo);
}
void BmgHwConfig::setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, const ReleaseHelper *releaseHelper) {

View File

@@ -104,12 +104,17 @@ GT_SYSTEM_INFO LnlHwConfig::gtSystemInfo = {};
const HardwareInfo LNL::hwInfo = LnlHwConfig::hwInfo;
void LNL::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, const ReleaseHelper *releaseHelper) {
setupDefaultGtSysInfo(hwInfo, releaseHelper);
setupDefaultGtSysInfo(hwInfo);
hwInfo->gtSystemInfo.NumThreadsPerEu = 8u;
hwInfo->gtSystemInfo.ThreadCount = hwInfo->gtSystemInfo.EUCount * hwInfo->gtSystemInfo.NumThreadsPerEu;
LNL::adjustHardwareInfo(hwInfo);
if (setupFeatureTableAndWorkaroundTable) {
LNL::setupFeatureAndWorkaroundTable(hwInfo, *releaseHelper);
}
applyDebugOverrides(*hwInfo);
}
void LnlHwConfig::setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, const ReleaseHelper *releaseHelper) {
LNL::setupHardwareInfoBase(hwInfo, setupFeatureTableAndWorkaroundTable, releaseHelper);

View File

@@ -90,12 +90,17 @@ void PTL::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo, const ReleaseHelp
}
void PTL::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, const ReleaseHelper *releaseHelper) {
setupDefaultGtSysInfo(hwInfo, releaseHelper);
setupDefaultGtSysInfo(hwInfo);
hwInfo->gtSystemInfo.NumThreadsPerEu = 10u;
hwInfo->gtSystemInfo.ThreadCount = hwInfo->gtSystemInfo.EUCount * hwInfo->gtSystemInfo.NumThreadsPerEu;
adjustHardwareInfo(hwInfo);
if (setupFeatureTableAndWorkaroundTable) {
setupFeatureAndWorkaroundTable(hwInfo, *releaseHelper);
}
applyDebugOverrides(*hwInfo);
}
FeatureTable PTL::featureTable{};

View File

@@ -101,14 +101,19 @@ void PVC::adjustHardwareInfo(HardwareInfo *hwInfo) {
}
void PVC::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, const ReleaseHelper *releaseHelper) {
setupDefaultGtSysInfo(hwInfo, releaseHelper);
setupDefaultGtSysInfo(hwInfo);
setupHardwareInfoMultiTileBase(hwInfo, true);
hwInfo->gtSystemInfo.NumThreadsPerEu = 8u;
hwInfo->gtSystemInfo.ThreadCount = hwInfo->gtSystemInfo.EUCount * hwInfo->gtSystemInfo.NumThreadsPerEu;
PVC::adjustHardwareInfo(hwInfo);
if (setupFeatureTableAndWorkaroundTable) {
setupFeatureAndWorkaroundTable(hwInfo, *releaseHelper);
}
applyDebugOverrides(*hwInfo);
}
void PVC::setupHardwareInfoMultiTileBase(HardwareInfo *hwInfo, bool setupMultiTile) {

View File

@@ -85,11 +85,16 @@ void ARL::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo, const ReleaseHelp
};
void ARL::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, const ReleaseHelper *releaseHelper) {
setupDefaultGtSysInfo(hwInfo, releaseHelper);
setupDefaultGtSysInfo(hwInfo);
hwInfo->gtSystemInfo.NumThreadsPerEu = 8u;
hwInfo->gtSystemInfo.ThreadCount = hwInfo->gtSystemInfo.EUCount * hwInfo->gtSystemInfo.NumThreadsPerEu;
if (setupFeatureTableAndWorkaroundTable) {
setupFeatureAndWorkaroundTable(hwInfo, *releaseHelper);
}
applyDebugOverrides(*hwInfo);
}
const HardwareInfo ArlHwConfig::hwInfo = {

View File

@@ -91,11 +91,16 @@ void DG2::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo, const ReleaseHelp
};
void DG2::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, const ReleaseHelper *releaseHelper) {
setupDefaultGtSysInfo(hwInfo, releaseHelper);
setupDefaultGtSysInfo(hwInfo);
hwInfo->gtSystemInfo.NumThreadsPerEu = 8u;
hwInfo->gtSystemInfo.ThreadCount = hwInfo->gtSystemInfo.EUCount * hwInfo->gtSystemInfo.NumThreadsPerEu;
if (setupFeatureTableAndWorkaroundTable) {
setupFeatureAndWorkaroundTable(hwInfo, *releaseHelper);
}
applyDebugOverrides(*hwInfo);
}
const HardwareInfo Dg2HwConfig::hwInfo = {

View File

@@ -86,11 +86,16 @@ void MTL::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo, const ReleaseHelp
};
void MTL::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, const ReleaseHelper *releaseHelper) {
setupDefaultGtSysInfo(hwInfo, releaseHelper);
setupDefaultGtSysInfo(hwInfo);
hwInfo->gtSystemInfo.NumThreadsPerEu = 8u;
hwInfo->gtSystemInfo.ThreadCount = hwInfo->gtSystemInfo.EUCount * hwInfo->gtSystemInfo.NumThreadsPerEu;
if (setupFeatureTableAndWorkaroundTable) {
setupFeatureAndWorkaroundTable(hwInfo, *releaseHelper);
}
applyDebugOverrides(*hwInfo);
}
const HardwareInfo MtlHwConfig::hwInfo = {

View File

@@ -28,7 +28,6 @@ class MockReleaseHelper : public ReleaseHelper {
ADDMETHOD_CONST_NOBASE(getSupportedNumGrfs, std::vector<uint32_t>, {128}, ());
ADDMETHOD_CONST_NOBASE(isBindlessAddressingDisabled, bool, true, ());
ADDMETHOD_CONST_NOBASE(isGlobalBindlessAllocatorEnabled, bool, false, ());
ADDMETHOD_CONST_NOBASE(getNumThreadsPerEu, uint32_t, 8u, ());
ADDMETHOD_CONST_NOBASE(getTotalMemBankSize, uint64_t, 32ull * MemoryConstants::gigaByte, ());
ADDMETHOD_CONST_NOBASE(getThreadsPerEUConfigs, const ThreadsPerEUConfigs, {}, (uint32_t numThreadsPerEu));
ADDMETHOD_CONST_NOBASE(getDeviceConfigString, const std::string, {}, (uint32_t tileCount, uint32_t sliceCount, uint32_t subSliceCount, uint32_t euPerSubSliceCount));

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2023-2024 Intel Corporation
* Copyright (C) 2023-2025 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -24,8 +24,6 @@ void adjustHwInfoForTests(HardwareInfo &hwInfoForTests, uint32_t euPerSubSlice,
auto hwInfoConfig = compilerProductHelper->getHwInfoConfig(hwInfoForTests);
setHwInfoValuesFromConfig(hwInfoConfig, hwInfoForTests);
uint32_t threadsPerEu = releaseHelper ? releaseHelper->getNumThreadsPerEu() : 7u;
// set Gt and FeatureTable to initial state
bool setupFeatureTableAndWorkaroundTable = isAubTestMode(testMode);
hardwareInfoSetup[hwInfoForTests.platform.eProductFamily](&hwInfoForTests, setupFeatureTableAndWorkaroundTable, hwInfoConfig, releaseHelper.get());
@@ -48,7 +46,8 @@ void adjustHwInfoForTests(HardwareInfo &hwInfoForTests, uint32_t euPerSubSlice,
gtSystemInfo.SubSliceCount = gtSystemInfo.SliceCount * subSlicePerSliceCount;
gtSystemInfo.DualSubSliceCount = gtSystemInfo.SubSliceCount;
gtSystemInfo.EUCount = gtSystemInfo.SubSliceCount * euPerSubSlice - dieRecovery;
gtSystemInfo.ThreadCount = gtSystemInfo.EUCount * threadsPerEu;
gtSystemInfo.NumThreadsPerEu = 8;
gtSystemInfo.ThreadCount = gtSystemInfo.EUCount * gtSystemInfo.NumThreadsPerEu;
gtSystemInfo.MaxEuPerSubSlice = std::max(gtSystemInfo.MaxEuPerSubSlice, euPerSubSlice);
gtSystemInfo.MaxSlicesSupported = std::max(gtSystemInfo.MaxSlicesSupported, gtSystemInfo.SliceCount);
gtSystemInfo.MaxSubSlicesSupported = std::max(gtSystemInfo.MaxSubSlicesSupported, gtSystemInfo.SubSliceCount);

View File

@@ -1551,7 +1551,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, DeviceTest, givenHwInfoWhenRequestedComputeUnitsUse
auto &productHelper = pDevice->getProductHelper();
const uint32_t multiplyFactor = productHelper.getThreadEuRatioForScratch(hwInfo) / 8u;
const uint32_t numThreadsPerEu = (hwInfo.gtSystemInfo.ThreadCount / hwInfo.gtSystemInfo.EUCount) * multiplyFactor;
const uint32_t numThreadsPerEu = hwInfo.gtSystemInfo.NumThreadsPerEu * multiplyFactor;
uint32_t expectedValue = productHelper.computeMaxNeededSubSliceSpace(hwInfo) * hwInfo.gtSystemInfo.MaxEuPerSubSlice * numThreadsPerEu;
@@ -2952,4 +2952,4 @@ TEST(DeviceCanAccessPeerTest, givenTwoSubDevicesFromTheSameRootDeviceThenCanAcce
bool res = subDevice0->canAccessPeer(queryPeerAccess, subDevice1, canAccess);
EXPECT_TRUE(res);
EXPECT_TRUE(canAccess);
}
}

View File

@@ -7,6 +7,7 @@
#include "shared/source/debug_settings/debug_settings_manager.h"
#include "shared/source/helpers/hw_info.h"
#include "shared/test/common/helpers/debug_manager_state_restore.h"
#include "shared/test/common/mocks/mock_release_helper.h"
#include "shared/test/common/test_macros/test.h"
@@ -65,3 +66,15 @@ TEST(HwInfoTest, whenGettingHwInfoForUnknownPlatformStringThenFailureIsReturned)
std::string invalidPlatformString = "invalid";
EXPECT_FALSE(getHwInfoForPlatformString(invalidPlatformString, pHwInfo));
}
TEST(HwInfoTest, whenApplyDebugOverrideCalledThenDebugVariablesAreApplied) {
DebugManagerStateRestore debugRestorer;
debugManager.flags.OverrideNumThreadsPerEu.set(123);
HardwareInfo hwInfo{};
hwInfo.gtSystemInfo.EUCount = 2;
applyDebugOverrides(hwInfo);
EXPECT_EQ(hwInfo.gtSystemInfo.NumThreadsPerEu, 123u);
EXPECT_EQ(hwInfo.gtSystemInfo.ThreadCount, hwInfo.gtSystemInfo.EUCount * 123u);
}

View File

@@ -90,11 +90,13 @@ TEST(RayTracingHelperTests, whenNumRtStacksPerDssIsRequestedAndFixedValueIsFalse
uint32_t maxEuPerSubSlice = 16;
uint32_t threadCount = 672;
uint32_t euCount = 96;
uint32_t numThreadsPerEu = threadCount / euCount;
auto hwInfo = *NEO::defaultHwInfo;
hwInfo.gtSystemInfo.MaxEuPerSubSlice = maxEuPerSubSlice;
hwInfo.gtSystemInfo.ThreadCount = threadCount;
hwInfo.gtSystemInfo.EUCount = euCount;
hwInfo.gtSystemInfo.NumThreadsPerEu = numThreadsPerEu;
std::unique_ptr<MockDevice> mockDevice(MockDevice::createWithNewExecutionEnvironment<MockDevice>(&hwInfo, 0));
mockDevice->mockReleaseHelper = &mockReleaseHelper;
@@ -113,6 +115,7 @@ TEST(RayTracingHelperTests, whenNumRtStacksPerDssExceedsMaxThenReturnsMaxRtStack
hwInfo.gtSystemInfo.MaxEuPerSubSlice = 512;
hwInfo.gtSystemInfo.ThreadCount = 2048;
hwInfo.gtSystemInfo.EUCount = 256;
hwInfo.gtSystemInfo.NumThreadsPerEu = hwInfo.gtSystemInfo.ThreadCount / hwInfo.gtSystemInfo.EUCount;
std::unique_ptr<MockDevice> mockDevice(MockDevice::createWithNewExecutionEnvironment<MockDevice>(&hwInfo, 0));
mockDevice->mockReleaseHelper = &mockReleaseHelper;
@@ -120,4 +123,4 @@ TEST(RayTracingHelperTests, whenNumRtStacksPerDssExceedsMaxThenReturnsMaxRtStack
uint32_t maxSizeOfRtStacksPerDss = 4096;
uint32_t result = RayTracingHelper::getNumRtStacksPerDss(*mockDevice);
EXPECT_EQ(maxSizeOfRtStacksPerDss, result);
}
}

View File

@@ -128,7 +128,7 @@ HWTEST_F(PreambleTest, givenDebuggerInitializedAndMidThreadPreemptionWhenGetAddi
HWTEST_F(PreambleTest, givenDefaultPreambleWhenGetThreadsMaxNumberIsCalledThenMaximumNumberOfThreadsIsReturned) {
const HardwareInfo &hwInfo = *defaultHwInfo;
uint32_t threadsPerEU = (hwInfo.gtSystemInfo.ThreadCount / hwInfo.gtSystemInfo.EUCount) + hwInfo.capabilityTable.extraQuantityThreadsPerEU;
uint32_t threadsPerEU = hwInfo.gtSystemInfo.NumThreadsPerEu + hwInfo.capabilityTable.extraQuantityThreadsPerEU;
uint32_t value = GfxCoreHelper::getMaxThreadsForVfe(hwInfo);
uint32_t expected = hwInfo.gtSystemInfo.EUCount * threadsPerEU;
@@ -137,7 +137,7 @@ HWTEST_F(PreambleTest, givenDefaultPreambleWhenGetThreadsMaxNumberIsCalledThenMa
HWTEST_F(PreambleTest, givenMaxHwThreadsPercentDebugVariableWhenGetThreadsMaxNumberIsCalledThenMaximumNumberOfThreadsIsCappedToRequestedNumber) {
const HardwareInfo &hwInfo = *defaultHwInfo;
uint32_t threadsPerEU = (hwInfo.gtSystemInfo.ThreadCount / hwInfo.gtSystemInfo.EUCount) + hwInfo.capabilityTable.extraQuantityThreadsPerEU;
uint32_t threadsPerEU = hwInfo.gtSystemInfo.NumThreadsPerEu + hwInfo.capabilityTable.extraQuantityThreadsPerEU;
DebugManagerStateRestore debugManagerStateRestore;
debugManager.flags.MaxHwThreadsPercent.set(80);
uint32_t value = GfxCoreHelper::getMaxThreadsForVfe(hwInfo);
@@ -148,7 +148,7 @@ HWTEST_F(PreambleTest, givenMaxHwThreadsPercentDebugVariableWhenGetThreadsMaxNum
HWTEST_F(PreambleTest, givenMinHwThreadsUnoccupiedDebugVariableWhenGetThreadsMaxNumberIsCalledThenMaximumNumberOfThreadsIsCappedToMatchRequestedNumber) {
const HardwareInfo &hwInfo = *defaultHwInfo;
uint32_t threadsPerEU = (hwInfo.gtSystemInfo.ThreadCount / hwInfo.gtSystemInfo.EUCount) + hwInfo.capabilityTable.extraQuantityThreadsPerEU;
uint32_t threadsPerEU = hwInfo.gtSystemInfo.NumThreadsPerEu + hwInfo.capabilityTable.extraQuantityThreadsPerEU;
DebugManagerStateRestore debugManagerStateRestore;
debugManager.flags.MinHwThreadsUnoccupied.set(2);
uint32_t value = GfxCoreHelper::getMaxThreadsForVfe(hwInfo);

View File

@@ -37,7 +37,6 @@ TEST_F(ReleaseHelper1255Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_TRUE(releaseHelper->isRcsExposureDisabled());
EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_TRUE(releaseHelper->isGlobalBindlessAllocatorEnabled());
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_TRUE(releaseHelper->isNumRtStacksPerDssFixedValue());
@@ -81,10 +80,6 @@ TEST_F(ReleaseHelper1255Tests, whenProgrammAdditionalStallPriorToBarrierWithTime
whenProgrammAdditionalStallPriorToBarrierWithTimestampCalledThenFalseReturned();
}
TEST_F(ReleaseHelper1255Tests, whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey) {
whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey();
}
TEST_F(ReleaseHelper1255Tests, whenIsPostImageWriteFlushRequiredCalledThenTrueReturned) {
for (auto &revision : getRevisions()) {
ipVersion.revision = revision;

View File

@@ -37,7 +37,6 @@ TEST_F(ReleaseHelper1256Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_TRUE(releaseHelper->isRcsExposureDisabled());
EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_TRUE(releaseHelper->isGlobalBindlessAllocatorEnabled());
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_TRUE(releaseHelper->isNumRtStacksPerDssFixedValue());
@@ -81,10 +80,6 @@ TEST_F(ReleaseHelper1256Tests, whenProgrammAdditionalStallPriorToBarrierWithTime
whenProgrammAdditionalStallPriorToBarrierWithTimestampCalledThenFalseReturned();
}
TEST_F(ReleaseHelper1256Tests, whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey) {
whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey();
}
TEST_F(ReleaseHelper1256Tests, whenIsPostImageWriteFlushRequiredCalledThenTrueReturned) {
for (auto &revision : getRevisions()) {
ipVersion.revision = revision;

View File

@@ -37,7 +37,6 @@ TEST_F(ReleaseHelper1257Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_TRUE(releaseHelper->isRcsExposureDisabled());
EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_TRUE(releaseHelper->isGlobalBindlessAllocatorEnabled());
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_TRUE(releaseHelper->isNumRtStacksPerDssFixedValue());
@@ -80,9 +79,6 @@ TEST_F(ReleaseHelper1257Tests, whenIsBlitImageAllowedForDepthFormatCalledThenTru
TEST_F(ReleaseHelper1257Tests, whenProgrammAdditionalStallPriorToBarrierWithTimestampCalledThenFalseReturned) {
whenProgrammAdditionalStallPriorToBarrierWithTimestampCalledThenFalseReturned();
}
TEST_F(ReleaseHelper1257Tests, whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey) {
whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey();
}
TEST_F(ReleaseHelper1257Tests, whenIsPostImageWriteFlushRequiredCalledThenTrueReturned) {
for (auto &revision : getRevisions()) {

View File

@@ -34,7 +34,6 @@ TEST_F(ReleaseHelper1260Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_TRUE(releaseHelper->isResolvingSubDeviceIDNeeded());
EXPECT_TRUE(releaseHelper->isRcsExposureDisabled());
EXPECT_TRUE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_TRUE(releaseHelper->isNumRtStacksPerDssFixedValue());
@@ -70,10 +69,6 @@ TEST_F(ReleaseHelper1260Tests, whenProgrammAdditionalStallPriorToBarrierWithTime
whenProgrammAdditionalStallPriorToBarrierWithTimestampCalledThenFalseReturned();
}
TEST_F(ReleaseHelper1260Tests, whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey) {
whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey();
}
TEST_F(ReleaseHelper1260Tests, whenIsPostImageWriteFlushRequiredCalledThenFalseReturned) {
whenIsPostImageWriteFlushRequiredCalledThenFalseReturned();
}

View File

@@ -33,7 +33,6 @@ TEST_F(ReleaseHelper1261Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_TRUE(releaseHelper->isResolvingSubDeviceIDNeeded());
EXPECT_TRUE(releaseHelper->isRcsExposureDisabled());
EXPECT_TRUE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_TRUE(releaseHelper->isNumRtStacksPerDssFixedValue());
@@ -69,10 +68,6 @@ TEST_F(ReleaseHelper1261Tests, whenProgrammAdditionalStallPriorToBarrierWithTime
whenProgrammAdditionalStallPriorToBarrierWithTimestampCalledThenFalseReturned();
}
TEST_F(ReleaseHelper1261Tests, whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey) {
whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey();
}
TEST_F(ReleaseHelper1261Tests, whenIsPostImageWriteFlushRequiredCalledThenFalseReturned) {
whenIsPostImageWriteFlushRequiredCalledThenFalseReturned();
}

View File

@@ -38,7 +38,6 @@ TEST_F(ReleaseHelper1270Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_FALSE(releaseHelper->isRcsExposureDisabled());
EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_TRUE(releaseHelper->isGlobalBindlessAllocatorEnabled());
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_TRUE(releaseHelper->isNumRtStacksPerDssFixedValue());
@@ -82,9 +81,6 @@ TEST_F(ReleaseHelper1270Tests, whenIsBlitImageAllowedForDepthFormatCalledThenTru
TEST_F(ReleaseHelper1270Tests, whenProgrammAdditionalStallPriorToBarrierWithTimestampCalledThenFalseReturned) {
whenProgrammAdditionalStallPriorToBarrierWithTimestampCalledThenFalseReturned();
}
TEST_F(ReleaseHelper1270Tests, whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey) {
whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey();
}
TEST_F(ReleaseHelper1270Tests, whenIsPostImageWriteFlushRequiredCalledThenFalseReturned) {
whenIsPostImageWriteFlushRequiredCalledThenFalseReturned();

View File

@@ -38,7 +38,6 @@ TEST_F(ReleaseHelper1271Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_FALSE(releaseHelper->isRcsExposureDisabled());
EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_TRUE(releaseHelper->isGlobalBindlessAllocatorEnabled());
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_TRUE(releaseHelper->isNumRtStacksPerDssFixedValue());
@@ -83,10 +82,6 @@ TEST_F(ReleaseHelper1271Tests, whenProgrammAdditionalStallPriorToBarrierWithTime
whenProgrammAdditionalStallPriorToBarrierWithTimestampCalledThenFalseReturned();
}
TEST_F(ReleaseHelper1271Tests, whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey) {
whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey();
}
TEST_F(ReleaseHelper1271Tests, whenIsPostImageWriteFlushRequiredCalledThenFalseReturned) {
whenIsPostImageWriteFlushRequiredCalledThenFalseReturned();
}

View File

@@ -37,7 +37,6 @@ TEST_F(ReleaseHelper1274Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_FALSE(releaseHelper->isRcsExposureDisabled());
EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_TRUE(releaseHelper->isGlobalBindlessAllocatorEnabled());
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_TRUE(releaseHelper->isNumRtStacksPerDssFixedValue());
@@ -78,10 +77,6 @@ TEST_F(ReleaseHelper1274Tests, whenProgrammAdditionalStallPriorToBarrierWithTime
whenProgrammAdditionalStallPriorToBarrierWithTimestampCalledThenFalseReturned();
}
TEST_F(ReleaseHelper1274Tests, whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey) {
whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey();
}
TEST_F(ReleaseHelper1274Tests, whenIsPostImageWriteFlushRequiredCalledThenFalseReturned) {
whenIsPostImageWriteFlushRequiredCalledThenFalseReturned();
}

View File

@@ -36,7 +36,6 @@ TEST_F(ReleaseHelper2001Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_TRUE(releaseHelper->isAuxSurfaceModeOverrideRequired());
EXPECT_TRUE(releaseHelper->isRcsExposureDisabled());
EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_TRUE(releaseHelper->isGlobalBindlessAllocatorEnabled());
@@ -76,10 +75,6 @@ TEST_F(ReleaseHelper2001Tests, whenIsBlitImageAllowedForDepthFormatCalledThenTru
whenIsBlitImageAllowedForDepthFormatCalledThenTrueReturned();
}
TEST_F(ReleaseHelper2001Tests, whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey) {
whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey();
}
TEST_F(ReleaseHelper2001Tests, whenIsPostImageWriteFlushRequiredCalledThenFalseReturned) {
whenIsPostImageWriteFlushRequiredCalledThenFalseReturned();
}

View File

@@ -37,7 +37,6 @@ TEST_F(ReleaseHelper2002Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_TRUE(releaseHelper->isAuxSurfaceModeOverrideRequired());
EXPECT_TRUE(releaseHelper->isRcsExposureDisabled());
EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_TRUE(releaseHelper->isNumRtStacksPerDssFixedValue());
@@ -76,10 +75,6 @@ TEST_F(ReleaseHelper2002Tests, whenIsBlitImageAllowedForDepthFormatCalledThenTru
whenIsBlitImageAllowedForDepthFormatCalledThenTrueReturned();
}
TEST_F(ReleaseHelper2002Tests, whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey) {
whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey();
}
TEST_F(ReleaseHelper2002Tests, whenIsPostImageWriteFlushRequiredCalledThenFalseReturned) {
whenIsPostImageWriteFlushRequiredCalledThenFalseReturned();
}

View File

@@ -37,7 +37,6 @@ TEST_F(ReleaseHelper2004Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_TRUE(releaseHelper->isAuxSurfaceModeOverrideRequired());
EXPECT_TRUE(releaseHelper->isRcsExposureDisabled());
EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_TRUE(releaseHelper->isGlobalBindlessAllocatorEnabled());
@@ -82,10 +81,6 @@ TEST_F(ReleaseHelper2004Tests, whenProgrammAdditionalStallPriorToBarrierWithTime
whenProgrammAdditionalStallPriorToBarrierWithTimestampCalledThenFalseReturned();
}
TEST_F(ReleaseHelper2004Tests, whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey) {
whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey();
}
TEST_F(ReleaseHelper2004Tests, whenIsPostImageWriteFlushRequiredCalledThenFalseReturned) {
whenIsPostImageWriteFlushRequiredCalledThenFalseReturned();
}

View File

@@ -36,7 +36,6 @@ TEST_F(ReleaseHelper3000Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_TRUE(releaseHelper->isRcsExposureDisabled());
EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_TRUE(releaseHelper->isGlobalBindlessAllocatorEnabled());
EXPECT_EQ(10u, releaseHelper->getNumThreadsPerEu());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_EQ(64u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isNumRtStacksPerDssFixedValue());
@@ -48,10 +47,6 @@ TEST_F(ReleaseHelper3000Tests, whenGettingSupportedNumGrfsThenCorrectValuesAreRe
whenGettingSupportedNumGrfsThenValuesUpTo256Returned();
}
TEST_F(ReleaseHelper3000Tests, whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey) {
whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey();
}
TEST_F(ReleaseHelper3000Tests, whenGettingThreadsPerEuConfigsThenCorrectValueIsReturnedBasedOnNumThreadPerEu) {
whenGettingThreadsPerEuConfigsThenCorrectValueIsReturnedBasedOnNumThreadPerEu();
}

View File

@@ -36,7 +36,6 @@ TEST_F(ReleaseHelper3001Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_TRUE(releaseHelper->isRcsExposureDisabled());
EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_TRUE(releaseHelper->isGlobalBindlessAllocatorEnabled());
EXPECT_EQ(10u, releaseHelper->getNumThreadsPerEu());
EXPECT_TRUE(releaseHelper->isRayTracingSupported());
EXPECT_EQ(64u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isNumRtStacksPerDssFixedValue());
@@ -48,10 +47,6 @@ TEST_F(ReleaseHelper3001Tests, whenGettingSupportedNumGrfsThenCorrectValuesAreRe
whenGettingSupportedNumGrfsThenValuesUpTo256Returned();
}
TEST_F(ReleaseHelper3001Tests, whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey) {
whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey();
}
TEST_F(ReleaseHelper3001Tests, whenGettingThreadsPerEuConfigsThenCorrectValueIsReturnedBasedOnNumThreadPerEu) {
whenGettingThreadsPerEuConfigsThenCorrectValueIsReturnedBasedOnNumThreadPerEu();
}

View File

@@ -36,7 +36,6 @@ TEST_F(ReleaseHelper3003Tests, whenGettingCapabilitiesThenCorrectPropertiesAreRe
EXPECT_TRUE(releaseHelper->isRcsExposureDisabled());
EXPECT_FALSE(releaseHelper->isBindlessAddressingDisabled());
EXPECT_TRUE(releaseHelper->isGlobalBindlessAllocatorEnabled());
EXPECT_EQ(10u, releaseHelper->getNumThreadsPerEu());
EXPECT_FALSE(releaseHelper->isRayTracingSupported());
EXPECT_EQ(0u, releaseHelper->getStackSizePerRay());
EXPECT_TRUE(releaseHelper->isNumRtStacksPerDssFixedValue());
@@ -48,10 +47,6 @@ TEST_F(ReleaseHelper3003Tests, whenGettingSupportedNumGrfsThenCorrectValuesAreRe
whenGettingSupportedNumGrfsThenValuesUpTo256Returned();
}
TEST_F(ReleaseHelper3003Tests, whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey) {
whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey();
}
TEST_F(ReleaseHelper3003Tests, whenGettingThreadsPerEuConfigsThenCorrectValueIsReturnedBasedOnNumThreadPerEu) {
whenGettingThreadsPerEuConfigsThenCorrectValueIsReturnedBasedOnNumThreadPerEu();
}

View File

@@ -115,21 +115,6 @@ void ReleaseHelperTestsBase::whenGettingSupportedNumGrfsThenValuesUpTo256Returne
}
}
void ReleaseHelperTestsBase::whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey() {
DebugManagerStateRestore restorer;
for (auto &revision : getRevisions()) {
ipVersion.revision = revision;
releaseHelper = ReleaseHelper::create(ipVersion);
ASSERT_NE(nullptr, releaseHelper);
debugManager.flags.OverrideNumThreadsPerEu.set(7);
EXPECT_EQ(7u, releaseHelper->getNumThreadsPerEu());
debugManager.flags.OverrideNumThreadsPerEu.set(8);
EXPECT_EQ(8u, releaseHelper->getNumThreadsPerEu());
debugManager.flags.OverrideNumThreadsPerEu.set(10);
EXPECT_EQ(10u, releaseHelper->getNumThreadsPerEu());
}
}
void ReleaseHelperTestsBase::whenGettingThreadsPerEuConfigsThenCorrectValueIsReturnedBasedOnNumThreadPerEu() {
for (auto &revision : getRevisions()) {
ipVersion.revision = revision;

View File

@@ -32,7 +32,6 @@ struct ReleaseHelperTestsBase : public ::testing::Test {
void whenIsLocalOnlyAllowedCalledThenFalseReturned();
void whenGettingPreferredSlmSizeThenAllEntriesEmpty();
void whenGettingSupportedNumGrfsThenValuesUpTo256Returned();
void whenGettingNumThreadsPerEuThenCorrectValueIsReturnedBasedOnOverrideNumThreadsPerEuDebugKey();
void whenGettingThreadsPerEuConfigsThenCorrectValueIsReturnedBasedOnNumThreadPerEu();
void whenIsBlitImageAllowedForDepthFormatCalledThenTrueReturned();
void whenProgrammAdditionalStallPriorToBarrierWithTimestampCalledThenFalseReturned();

View File

@@ -217,13 +217,13 @@ PVCTEST_F(PvcProductHelper, givenDeviceIdThenProperMaxThreadsForWorkgroupIsRetur
for (const auto &deviceId : pvcXtDeviceIds) {
hwInfo.platform.usDeviceID = deviceId;
uint32_t numThreadsPerEU = hwInfo.gtSystemInfo.ThreadCount / hwInfo.gtSystemInfo.EUCount;
uint32_t numThreadsPerEU = hwInfo.gtSystemInfo.NumThreadsPerEu;
EXPECT_EQ(64u * numThreadsPerEU, productHelper->getMaxThreadsForWorkgroupInDSSOrSS(hwInfo, 64u, 64u));
}
for (const auto &deviceId : pvcXtVgDeviceIds) {
hwInfo.platform.usDeviceID = deviceId;
uint32_t numThreadsPerEU = hwInfo.gtSystemInfo.ThreadCount / hwInfo.gtSystemInfo.EUCount;
uint32_t numThreadsPerEU = hwInfo.gtSystemInfo.NumThreadsPerEu;
EXPECT_EQ(64u * numThreadsPerEU, productHelper->getMaxThreadsForWorkgroupInDSSOrSS(hwInfo, 64u, 64u));
}
}