mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-04 15:53:45 +08:00
Base hwInfo values setup for AOT
In most cases, there was code redundancy, which was minimized in this change. The setupHardwareInfoBase extraction will also be used for ocloc. Signed-off-by: Daria Hinz <daria.hinz@intel.com> Related-To: NEO-6910
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
ee4a177296
commit
de74becdb8
@@ -175,7 +175,7 @@ void MulticontextAubFixture::overridePlatformConfigForAllEnginesSupport(Hardware
|
||||
#ifdef SUPPORT_XE_HP_SDV
|
||||
if (localHwInfo.platform.eProductFamily == IGFX_XE_HP_SDV) {
|
||||
setupCalled = true;
|
||||
XE_HP_SDV_CONFIG::setupHardwareInfoMultiTile(&localHwInfo, true, true);
|
||||
XE_HP_SDV_CONFIG::setupHardwareInfo(&localHwInfo, true);
|
||||
|
||||
// Mock values
|
||||
localHwInfo.gtSystemInfo.SliceCount = 8;
|
||||
@@ -195,7 +195,7 @@ void MulticontextAubFixture::overridePlatformConfigForAllEnginesSupport(Hardware
|
||||
ASSERT_TRUE(numberOfEnabledTiles == 1);
|
||||
setupCalled = true;
|
||||
|
||||
DG2_CONFIG::setupHardwareInfoMultiTile(&localHwInfo, true, false);
|
||||
DG2_CONFIG::setupHardwareInfo(&localHwInfo, true);
|
||||
|
||||
// Mock values
|
||||
localHwInfo.gtSystemInfo.SliceCount = 8;
|
||||
@@ -214,7 +214,7 @@ void MulticontextAubFixture::overridePlatformConfigForAllEnginesSupport(Hardware
|
||||
if (localHwInfo.platform.eProductFamily == IGFX_PVC) {
|
||||
setupCalled = true;
|
||||
|
||||
PVC_CONFIG::setupHardwareInfoMultiTile(&localHwInfo, true, true);
|
||||
PVC_CONFIG::setupHardwareInfo(&localHwInfo, true);
|
||||
|
||||
// Mock values
|
||||
localHwInfo.gtSystemInfo.SliceCount = 8;
|
||||
|
||||
@@ -62,6 +62,17 @@ ADLPTEST_F(HwInfoConfigTestLinuxAdlp, GivenInvalidDeviceIdWhenConfiguringHwInfoT
|
||||
EXPECT_EQ(-1, ret);
|
||||
}
|
||||
|
||||
ADLPTEST_F(HwInfoConfigTestLinuxAdlp, givenAdlpConfigWhenSetupHardwareInfoBaseThenGtSystemInfoIsCorrect) {
|
||||
HardwareInfo hwInfo = *defaultHwInfo;
|
||||
GT_SYSTEM_INFO >SystemInfo = hwInfo.gtSystemInfo;
|
||||
ADLP::setupHardwareInfoBase(&hwInfo, false);
|
||||
|
||||
EXPECT_EQ(64u, gtSystemInfo.TotalPsThreadsWindowerRange);
|
||||
EXPECT_EQ(8u, gtSystemInfo.CsrSizeInMb);
|
||||
EXPECT_FALSE(gtSystemInfo.IsL3HashModeEnabled);
|
||||
EXPECT_FALSE(gtSystemInfo.IsDynamicallyPopulated);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
using AdlpConfigHwInfoTests = ::testing::Test;
|
||||
using adlpConfigTestTypes = ::testing::Types<ADLP_CONFIG>;
|
||||
|
||||
@@ -520,7 +520,8 @@ TEST(MultiCommandWhiteboxTest, GivenInvalidArgsWhenInitializingThenErrorIsReturn
|
||||
EXPECT_NE(std::string::npos, errorPosition);
|
||||
}
|
||||
|
||||
TEST(MockOfflineCompilerTests, givenProductConfigValueWhenInitHwInfoThenResetGtSystemInfo) {
|
||||
using MockOfflineCompilerTests = ::testing::Test;
|
||||
TEST_F(MockOfflineCompilerTests, givenProductConfigValueWhenInitHwInfoThenBaseHardwareInfoValuesAreSet) {
|
||||
MockOfflineCompiler mockOfflineCompiler;
|
||||
auto allEnabledDeviceConfigs = mockOfflineCompiler.argHelper->getAllSupportedDeviceConfigs();
|
||||
if (allEnabledDeviceConfigs.empty()) {
|
||||
@@ -539,11 +540,30 @@ TEST(MockOfflineCompilerTests, givenProductConfigValueWhenInitHwInfoThenResetGtS
|
||||
EXPECT_FALSE(mockOfflineCompiler.deviceName.empty());
|
||||
|
||||
mockOfflineCompiler.initHardwareInfo(mockOfflineCompiler.deviceName);
|
||||
GT_SYSTEM_INFO expectedGtSystemInfo = {0};
|
||||
|
||||
EXPECT_EQ(mockOfflineCompiler.hwInfo.platform.usRevId, expectedRevId);
|
||||
EXPECT_EQ(mockOfflineCompiler.hwInfo.platform.eProductFamily, productFamily);
|
||||
EXPECT_EQ(memcmp(&mockOfflineCompiler.hwInfo.gtSystemInfo, &expectedGtSystemInfo, sizeof(GT_SYSTEM_INFO)), 0);
|
||||
EXPECT_NE(mockOfflineCompiler.hwInfo.gtSystemInfo.MaxEuPerSubSlice, 0u);
|
||||
EXPECT_NE(mockOfflineCompiler.hwInfo.gtSystemInfo.MaxSlicesSupported, 0u);
|
||||
EXPECT_NE(mockOfflineCompiler.hwInfo.gtSystemInfo.MaxSubSlicesSupported, 0u);
|
||||
}
|
||||
|
||||
HWTEST2_F(MockOfflineCompilerTests, givenProductConfigValueWhenInitHwInfoThenMaxDualSubSlicesSupportedIsSet, IsAtLeastGen12lp) {
|
||||
MockOfflineCompiler mockOfflineCompiler;
|
||||
auto allEnabledDeviceConfigs = mockOfflineCompiler.argHelper->getAllSupportedDeviceConfigs();
|
||||
if (allEnabledDeviceConfigs.empty()) {
|
||||
GTEST_SKIP();
|
||||
}
|
||||
|
||||
for (auto &deviceMapConfig : allEnabledDeviceConfigs) {
|
||||
if (productFamily == deviceMapConfig.hwInfo->platform.eProductFamily) {
|
||||
mockOfflineCompiler.deviceName = ProductConfigHelper::parseMajorMinorRevisionValue(deviceMapConfig.config);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
mockOfflineCompiler.initHardwareInfo(mockOfflineCompiler.deviceName);
|
||||
EXPECT_NE(mockOfflineCompiler.hwInfo.gtSystemInfo.MaxDualSubSlicesSupported, 0u);
|
||||
}
|
||||
|
||||
TEST_F(OfflineCompilerTests, GivenHelpOptionOnQueryThenSuccessIsReturned) {
|
||||
@@ -2971,17 +2991,6 @@ TEST(OclocArgHelperTest, GivenDifferentRevisionIdsInDeviceMappingsWhenComparingT
|
||||
EXPECT_FALSE(lhs == rhs);
|
||||
}
|
||||
|
||||
TEST(OclocArgHelperTest, GivenDifferentSetupFeatureAndWorkaroundTableFunctionsInDeviceMappingsWhenComparingThemThenFalseIsReturned) {
|
||||
DeviceMapping lhs{};
|
||||
DeviceMapping rhs{};
|
||||
ASSERT_TRUE(lhs == rhs);
|
||||
|
||||
// Different lambdas are obligated to have different addresses.
|
||||
lhs.setupFeatureAndWorkaroundTable = [](NEO::HardwareInfo *hwInfo) {};
|
||||
rhs.setupFeatureAndWorkaroundTable = [](NEO::HardwareInfo *hwInfo) {};
|
||||
EXPECT_FALSE(lhs == rhs);
|
||||
}
|
||||
|
||||
TEST(OclocArgHelperTest, GivenDifferentHwInfosInDeviceMappingsWhenComparingThemThenFalseIsReturned) {
|
||||
DeviceMapping lhs{};
|
||||
DeviceMapping rhs{};
|
||||
|
||||
@@ -76,4 +76,19 @@ XEHPTEST_F(XeHPHwInfoTest, givenAlreadyInitializedHwInfoWhenSetupCalledThenDontO
|
||||
XE_HP_SDV_CONFIG::setupHardwareInfo(&hwInfo, false);
|
||||
|
||||
EXPECT_EQ(expectedValue, hwInfo.gtSystemInfo.SliceCount);
|
||||
}
|
||||
}
|
||||
|
||||
XEHPTEST_F(XeHPHwInfoTest, givenXeHpConfigWhenSetupHardwareInfoBaseThenGtSystemInfoIsCorrect) {
|
||||
HardwareInfo hwInfo = *defaultHwInfo;
|
||||
GT_SYSTEM_INFO >SystemInfo = hwInfo.gtSystemInfo;
|
||||
XE_HP_SDV::setupHardwareInfoBase(&hwInfo, false);
|
||||
|
||||
EXPECT_EQ(336u, gtSystemInfo.TotalVsThreads);
|
||||
EXPECT_EQ(336u, gtSystemInfo.TotalHsThreads);
|
||||
EXPECT_EQ(336u, gtSystemInfo.TotalDsThreads);
|
||||
EXPECT_EQ(336u, gtSystemInfo.TotalGsThreads);
|
||||
EXPECT_EQ(64u, gtSystemInfo.TotalPsThreadsWindowerRange);
|
||||
EXPECT_EQ(8u, gtSystemInfo.CsrSizeInMb);
|
||||
EXPECT_FALSE(gtSystemInfo.IsL3HashModeEnabled);
|
||||
EXPECT_FALSE(gtSystemInfo.IsDynamicallyPopulated);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user