Skip to content

Commit b1f622d

Browse files
Set only base values in GT_SYSTEM_INFO for AOT
In most cases, there was code redundancy, which was minimized in this change. The setupHardwareInfoBase extraction will also be used in ocloc. Signed-off-by: Daria Hinz <[email protected]> Related-To: NEO-6910
1 parent 0469034 commit b1f622d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+453
-585
lines changed

opencl/test/unit_test/aub_tests/fixtures/multicontext_aub_fixture.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ void MulticontextAubFixture::overridePlatformConfigForAllEnginesSupport(Hardware
175175
#ifdef SUPPORT_XE_HP_SDV
176176
if (localHwInfo.platform.eProductFamily == IGFX_XE_HP_SDV) {
177177
setupCalled = true;
178-
XE_HP_SDV_CONFIG::setupHardwareInfoMultiTile(&localHwInfo, true, true);
178+
XE_HP_SDV_CONFIG::setupHardwareInfo(&localHwInfo, true);
179179

180180
// Mock values
181181
localHwInfo.gtSystemInfo.SliceCount = 8;
@@ -195,7 +195,7 @@ void MulticontextAubFixture::overridePlatformConfigForAllEnginesSupport(Hardware
195195
ASSERT_TRUE(numberOfEnabledTiles == 1);
196196
setupCalled = true;
197197

198-
DG2_CONFIG::setupHardwareInfoMultiTile(&localHwInfo, true, false);
198+
DG2_CONFIG::setupHardwareInfo(&localHwInfo, true);
199199

200200
// Mock values
201201
localHwInfo.gtSystemInfo.SliceCount = 8;
@@ -214,7 +214,7 @@ void MulticontextAubFixture::overridePlatformConfigForAllEnginesSupport(Hardware
214214
if (localHwInfo.platform.eProductFamily == IGFX_PVC) {
215215
setupCalled = true;
216216

217-
PVC_CONFIG::setupHardwareInfoMultiTile(&localHwInfo, true, true);
217+
PVC_CONFIG::setupHardwareInfo(&localHwInfo, true);
218218

219219
// Mock values
220220
localHwInfo.gtSystemInfo.SliceCount = 8;

opencl/test/unit_test/offline_compiler/offline_compiler_tests.cpp

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -520,7 +520,7 @@ TEST(MultiCommandWhiteboxTest, GivenInvalidArgsWhenInitializingThenErrorIsReturn
520520
EXPECT_NE(std::string::npos, errorPosition);
521521
}
522522

523-
TEST(MockOfflineCompilerTests, givenProductConfigValueWhenInitHwInfoThenResetGtSystemInfo) {
523+
TEST(MockOfflineCompilerTests, givenProductConfigValueWhenInitHwInfoThenBaseHardwareInfoValuesAreSet) {
524524
MockOfflineCompiler mockOfflineCompiler;
525525
auto allEnabledDeviceConfigs = mockOfflineCompiler.argHelper->getAllSupportedDeviceConfigs();
526526
if (allEnabledDeviceConfigs.empty()) {
@@ -538,11 +538,13 @@ TEST(MockOfflineCompilerTests, givenProductConfigValueWhenInitHwInfoThenResetGtS
538538
EXPECT_FALSE(mockOfflineCompiler.deviceName.empty());
539539

540540
mockOfflineCompiler.initHardwareInfo(mockOfflineCompiler.deviceName);
541-
GT_SYSTEM_INFO expectedGtSystemInfo = {0};
542541

543542
EXPECT_EQ(mockOfflineCompiler.hwInfo.platform.usRevId, expectedRevId);
544543
EXPECT_EQ(mockOfflineCompiler.hwInfo.platform.eProductFamily, productFamily);
545-
EXPECT_EQ(memcmp(&mockOfflineCompiler.hwInfo.gtSystemInfo, &expectedGtSystemInfo, sizeof(GT_SYSTEM_INFO)), 0);
544+
EXPECT_NE(mockOfflineCompiler.hwInfo.gtSystemInfo.MaxDualSubSlicesSupported, 0u);
545+
EXPECT_NE(mockOfflineCompiler.hwInfo.gtSystemInfo.MaxEuPerSubSlice, 0u);
546+
EXPECT_NE(mockOfflineCompiler.hwInfo.gtSystemInfo.MaxSlicesSupported, 0u);
547+
EXPECT_NE(mockOfflineCompiler.hwInfo.gtSystemInfo.MaxSubSlicesSupported, 0u);
546548
}
547549

548550
TEST_F(OfflineCompilerTests, GivenHelpOptionOnQueryThenSuccessIsReturned) {
@@ -2970,17 +2972,6 @@ TEST(OclocArgHelperTest, GivenDifferentRevisionIdsInDeviceMappingsWhenComparingT
29702972
EXPECT_FALSE(lhs == rhs);
29712973
}
29722974

2973-
TEST(OclocArgHelperTest, GivenDifferentSetupFeatureAndWorkaroundTableFunctionsInDeviceMappingsWhenComparingThemThenFalseIsReturned) {
2974-
DeviceMapping lhs{};
2975-
DeviceMapping rhs{};
2976-
ASSERT_TRUE(lhs == rhs);
2977-
2978-
// Different lambdas are obligated to have different addresses.
2979-
lhs.setupFeatureAndWorkaroundTable = [](NEO::HardwareInfo *hwInfo) {};
2980-
rhs.setupFeatureAndWorkaroundTable = [](NEO::HardwareInfo *hwInfo) {};
2981-
EXPECT_FALSE(lhs == rhs);
2982-
}
2983-
29842975
TEST(OclocArgHelperTest, GivenDifferentHwInfosInDeviceMappingsWhenComparingThemThenFalseIsReturned) {
29852976
DeviceMapping lhs{};
29862977
DeviceMapping rhs{};

shared/offline_compiler/source/ocloc_arg_helper.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,9 @@ OclocArgHelper::OclocArgHelper(const uint32_t numSources, const uint8_t **dataSo
6363
#undef NAMEDDEVICE
6464
{0u, std::string("")}}),
6565
deviceMap({
66-
#define DEVICE_CONFIG_IDS_AND_REVISION(product, productConfig, deviceIds, revision_id) {product, &NEO::productConfig::hwInfo, &NEO::deviceIds, NEO::productConfig::setupFeatureAndWorkaroundTable, revision_id},
67-
#define DEVICE_CONFIG_IDS(product, productConfig, deviceIds) {product, &NEO::productConfig::hwInfo, &NEO::deviceIds, NEO::productConfig::setupFeatureAndWorkaroundTable, NEO::productConfig::hwInfo.platform.usRevId},
68-
#define DEVICE_CONFIG(product, productConfig) {product, &NEO::productConfig::hwInfo, nullptr, NEO::productConfig::setupFeatureAndWorkaroundTable, NEO::productConfig::hwInfo.platform.usRevId},
66+
#define DEVICE_CONFIG_IDS_AND_REVISION(product, productConfig, deviceIds, revision_id) {product, &NEO::productConfig::hwInfo, &NEO::deviceIds, revision_id},
67+
#define DEVICE_CONFIG_IDS(product, productConfig, deviceIds) {product, &NEO::productConfig::hwInfo, &NEO::deviceIds, NEO::productConfig::hwInfo.platform.usRevId},
68+
#define DEVICE_CONFIG(product, productConfig) {product, &NEO::productConfig::hwInfo, nullptr, NEO::productConfig::hwInfo.platform.usRevId},
6969
#include "product_config.inl"
7070
#undef DEVICE_CONFIG
7171
#undef DEVICE_CONFIG_IDS
@@ -171,14 +171,13 @@ std::unique_ptr<char[]> OclocArgHelper::loadDataFromFile(const std::string &file
171171

172172
void OclocArgHelper::setDeviceInfoForFatbinaryTarget(const DeviceMapping &device) {
173173
deviceForFatbinary.hwInfo = device.hwInfo;
174-
deviceForFatbinary.setupFeatureAndWorkaroundTable = device.setupFeatureAndWorkaroundTable;
175174
deviceForFatbinary.revId = device.revId;
176175
deviceForFatbinary.deviceIds = device.deviceIds;
177176
}
178177

179178
void OclocArgHelper::setHwInfoForFatbinaryTarget(NEO::HardwareInfo &hwInfo) {
180179
hwInfo = *deviceForFatbinary.hwInfo;
181-
deviceForFatbinary.setupFeatureAndWorkaroundTable(&hwInfo);
180+
NEO::hardwareInfoBaseSetup[hwInfo.platform.eProductFamily](&hwInfo, true);
182181
hwInfo.platform.usRevId = deviceForFatbinary.revId;
183182
if (deviceForFatbinary.deviceIds) {
184183
hwInfo.platform.usDeviceID = deviceForFatbinary.deviceIds->front();
@@ -193,7 +192,7 @@ bool OclocArgHelper::getHwInfoForProductConfig(uint32_t config, NEO::HardwareInf
193192
for (auto &deviceConfig : deviceMap) {
194193
if (deviceConfig.config == config) {
195194
hwInfo = *deviceConfig.hwInfo;
196-
deviceConfig.setupFeatureAndWorkaroundTable(&hwInfo);
195+
NEO::hardwareInfoBaseSetup[hwInfo.platform.eProductFamily](&hwInfo, true);
197196
hwInfo.platform.usRevId = deviceConfig.revId;
198197
if (deviceConfig.deviceIds) {
199198
hwInfo.platform.usDeviceID = deviceConfig.deviceIds->front();

shared/offline_compiler/source/ocloc_arg_helper.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,10 @@ struct DeviceMapping {
5151
PRODUCT_CONFIG config;
5252
const NEO::HardwareInfo *hwInfo;
5353
const std::vector<unsigned short> *deviceIds;
54-
void (*setupFeatureAndWorkaroundTable)(NEO::HardwareInfo *hwInfo);
5554
unsigned int revId;
5655

5756
bool operator==(const DeviceMapping &rhs) {
58-
return config == rhs.config && hwInfo == rhs.hwInfo && setupFeatureAndWorkaroundTable == rhs.setupFeatureAndWorkaroundTable && revId == rhs.revId;
57+
return config == rhs.config && hwInfo == rhs.hwInfo && revId == rhs.revId;
5958
}
6059
};
6160

shared/offline_compiler/source/offline_compiler.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ int OfflineCompiler::initHardwareInfo(std::string deviceName) {
389389

390390
auto hwInfoConfig = defaultHardwareInfoConfigTable[hwInfo.platform.eProductFamily];
391391
setHwInfoValuesFromConfig(hwInfoConfig, hwInfo);
392-
hardwareInfoSetup[hwInfo.platform.eProductFamily](&hwInfo, true, hwInfoConfig);
392+
hardwareInfoBaseSetup[hwInfo.platform.eProductFamily](&hwInfo, true);
393393
setFamilyType();
394394
retVal = SUCCESS;
395395
break;

shared/source/gen11/hw_cmds_ehl.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2019-2021 Intel Corporation
2+
* Copyright (C) 2019-2022 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -23,6 +23,7 @@ struct EHL : public ICLFamily {
2323
static const RuntimeCapabilityTable capabilityTable;
2424
static void (*setupHardwareInfo)(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, uint64_t hwInfoConfig);
2525
static void setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo);
26+
static void setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable);
2627
};
2728

2829
class EHL_HW_CONFIG : public EHL {

shared/source/gen11/hw_cmds_icllp.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2019-2021 Intel Corporation
2+
* Copyright (C) 2019-2022 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -23,6 +23,7 @@ struct ICLLP : public ICLFamily {
2323
static const RuntimeCapabilityTable capabilityTable;
2424
static void (*setupHardwareInfo)(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, uint64_t hwInfoConfig);
2525
static void setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo);
26+
static void setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable);
2627
};
2728

2829
class ICLLP_1x8x8 : public ICLLP {

shared/source/gen11/hw_cmds_lkf.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2019-2021 Intel Corporation
2+
* Copyright (C) 2019-2022 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -23,6 +23,7 @@ struct LKF : public ICLFamily {
2323
static const RuntimeCapabilityTable capabilityTable;
2424
static void (*setupHardwareInfo)(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable, uint64_t hwInfoConfig);
2525
static void setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo);
26+
static void setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable);
2627
};
2728
class LKF_1x8x8 : public LKF {
2829
public:

shared/source/gen11/hw_info_ehl.cpp

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -124,21 +124,9 @@ void EHL::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo) {
124124
workaroundTable->flags.waReportPerfCountUseGlobalContextID = true;
125125
};
126126

127-
const HardwareInfo EHL_HW_CONFIG::hwInfo = {
128-
&EHL::platform,
129-
&EHL::featureTable,
130-
&EHL::workaroundTable,
131-
&EHL_HW_CONFIG::gtSystemInfo,
132-
EHL::capabilityTable,
133-
};
134-
GT_SYSTEM_INFO EHL_HW_CONFIG::gtSystemInfo = {0};
135-
void EHL_HW_CONFIG::setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable) {
127+
void EHL::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable) {
136128
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
137129
gtSysInfo->ThreadCount = gtSysInfo->EUCount * EHL::threadsPerEu;
138-
gtSysInfo->SliceCount = 1;
139-
gtSysInfo->L3CacheSizeInKb = 1280;
140-
gtSysInfo->L3BankCount = 4;
141-
gtSysInfo->MaxFillRate = 8;
142130
gtSysInfo->TotalVsThreads = 0;
143131
gtSysInfo->TotalHsThreads = 0;
144132
gtSysInfo->TotalDsThreads = 0;
@@ -150,9 +138,29 @@ void EHL_HW_CONFIG::setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTab
150138
gtSysInfo->MaxSubSlicesSupported = EHL::maxSubslicesSupported;
151139
gtSysInfo->IsL3HashModeEnabled = false;
152140
gtSysInfo->IsDynamicallyPopulated = false;
141+
153142
if (setupFeatureTableAndWorkaroundTable) {
154143
setupFeatureAndWorkaroundTable(hwInfo);
155144
}
145+
}
146+
147+
const HardwareInfo EHL_HW_CONFIG::hwInfo = {
148+
&EHL::platform,
149+
&EHL::featureTable,
150+
&EHL::workaroundTable,
151+
&EHL_HW_CONFIG::gtSystemInfo,
152+
EHL::capabilityTable,
153+
};
154+
155+
GT_SYSTEM_INFO EHL_HW_CONFIG::gtSystemInfo = {0};
156+
void EHL_HW_CONFIG::setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable) {
157+
EHL::setupHardwareInfoBase(hwInfo, setupFeatureTableAndWorkaroundTable);
158+
159+
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
160+
gtSysInfo->SliceCount = 1;
161+
gtSysInfo->L3CacheSizeInKb = 1280;
162+
gtSysInfo->L3BankCount = 4;
163+
gtSysInfo->MaxFillRate = 8;
156164
};
157165

158166
const HardwareInfo EHL::hwInfo = EHL_HW_CONFIG::hwInfo;

shared/source/gen11/hw_info_icllp.cpp

Lines changed: 27 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,26 @@ void ICLLP::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo) {
125125
workaroundTable->flags.waReportPerfCountUseGlobalContextID = true;
126126
};
127127

128+
void ICLLP::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable) {
129+
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
130+
gtSysInfo->ThreadCount = gtSysInfo->EUCount * ICLLP::threadsPerEu;
131+
gtSysInfo->TotalHsThreads = 224;
132+
gtSysInfo->TotalGsThreads = 224;
133+
gtSysInfo->TotalVsThreads = 336;
134+
gtSysInfo->TotalDsThreads = 336;
135+
gtSysInfo->TotalPsThreadsWindowerRange = 128;
136+
gtSysInfo->CsrSizeInMb = 5;
137+
gtSysInfo->MaxEuPerSubSlice = ICLLP::maxEuPerSubslice;
138+
gtSysInfo->MaxSlicesSupported = ICLLP::maxSlicesSupported;
139+
gtSysInfo->MaxSubSlicesSupported = ICLLP::maxSubslicesSupported;
140+
gtSysInfo->IsL3HashModeEnabled = false;
141+
gtSysInfo->IsDynamicallyPopulated = false;
142+
143+
if (setupFeatureTableAndWorkaroundTable) {
144+
setupFeatureAndWorkaroundTable(hwInfo);
145+
}
146+
}
147+
128148
const HardwareInfo ICLLP_1x8x8::hwInfo = {
129149
&ICLLP::platform,
130150
&ICLLP::featureTable,
@@ -135,26 +155,16 @@ const HardwareInfo ICLLP_1x8x8::hwInfo = {
135155

136156
GT_SYSTEM_INFO ICLLP_1x8x8::gtSystemInfo = {0};
137157
void ICLLP_1x8x8::setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable) {
158+
ICLLP::setupHardwareInfoBase(hwInfo, setupFeatureTableAndWorkaroundTable);
159+
138160
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
139-
gtSysInfo->ThreadCount = gtSysInfo->EUCount * ICLLP::threadsPerEu;
140161
gtSysInfo->SliceCount = 1;
141162
gtSysInfo->L3CacheSizeInKb = 3072;
142163
gtSysInfo->L3BankCount = 8;
143164
gtSysInfo->MaxFillRate = 16;
144-
gtSysInfo->TotalVsThreads = 336;
145165
gtSysInfo->TotalHsThreads = 336;
146-
gtSysInfo->TotalDsThreads = 336;
147166
gtSysInfo->TotalGsThreads = 336;
148167
gtSysInfo->TotalPsThreadsWindowerRange = 64;
149-
gtSysInfo->CsrSizeInMb = 5;
150-
gtSysInfo->MaxEuPerSubSlice = ICLLP::maxEuPerSubslice;
151-
gtSysInfo->MaxSlicesSupported = ICLLP::maxSlicesSupported;
152-
gtSysInfo->MaxSubSlicesSupported = ICLLP::maxSubslicesSupported;
153-
gtSysInfo->IsL3HashModeEnabled = false;
154-
gtSysInfo->IsDynamicallyPopulated = false;
155-
if (setupFeatureTableAndWorkaroundTable) {
156-
setupFeatureAndWorkaroundTable(hwInfo);
157-
}
158168
};
159169

160170
const HardwareInfo ICLLP_1x4x8::hwInfo = {
@@ -167,27 +177,15 @@ const HardwareInfo ICLLP_1x4x8::hwInfo = {
167177

168178
GT_SYSTEM_INFO ICLLP_1x4x8::gtSystemInfo = {0};
169179
void ICLLP_1x4x8::setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable) {
180+
ICLLP::setupHardwareInfoBase(hwInfo, setupFeatureTableAndWorkaroundTable);
181+
170182
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
171-
gtSysInfo->ThreadCount = gtSysInfo->EUCount * ICLLP::threadsPerEu;
172183
gtSysInfo->SliceCount = 1;
173184
gtSysInfo->L3CacheSizeInKb = 2304;
174185
gtSysInfo->L3BankCount = 6;
175186
gtSysInfo->MaxFillRate = 8;
176-
gtSysInfo->TotalVsThreads = 364;
177-
gtSysInfo->TotalHsThreads = 224;
178-
gtSysInfo->TotalDsThreads = 364;
179-
gtSysInfo->TotalGsThreads = 224;
180-
gtSysInfo->TotalPsThreadsWindowerRange = 128;
181-
gtSysInfo->CsrSizeInMb = 5;
182-
gtSysInfo->MaxEuPerSubSlice = ICLLP::maxEuPerSubslice;
183-
gtSysInfo->MaxSlicesSupported = ICLLP::maxSlicesSupported;
184-
gtSysInfo->MaxSubSlicesSupported = ICLLP::maxSubslicesSupported;
185-
gtSysInfo->IsL3HashModeEnabled = false;
186-
gtSysInfo->IsDynamicallyPopulated = false;
187-
if (setupFeatureTableAndWorkaroundTable) {
188-
setupFeatureAndWorkaroundTable(hwInfo);
189-
}
190187
};
188+
191189
const HardwareInfo ICLLP_1x6x8::hwInfo = {
192190
&ICLLP::platform,
193191
&ICLLP::featureTable,
@@ -198,26 +196,13 @@ const HardwareInfo ICLLP_1x6x8::hwInfo = {
198196

199197
GT_SYSTEM_INFO ICLLP_1x6x8::gtSystemInfo = {0};
200198
void ICLLP_1x6x8::setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable) {
199+
ICLLP::setupHardwareInfoBase(hwInfo, setupFeatureTableAndWorkaroundTable);
200+
201201
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
202-
gtSysInfo->ThreadCount = gtSysInfo->EUCount * ICLLP::threadsPerEu;
203202
gtSysInfo->SliceCount = 1;
204203
gtSysInfo->L3CacheSizeInKb = 2304;
205204
gtSysInfo->L3BankCount = 6;
206205
gtSysInfo->MaxFillRate = 8;
207-
gtSysInfo->TotalVsThreads = 364;
208-
gtSysInfo->TotalHsThreads = 224;
209-
gtSysInfo->TotalDsThreads = 364;
210-
gtSysInfo->TotalGsThreads = 224;
211-
gtSysInfo->TotalPsThreadsWindowerRange = 128;
212-
gtSysInfo->CsrSizeInMb = 5;
213-
gtSysInfo->MaxEuPerSubSlice = ICLLP::maxEuPerSubslice;
214-
gtSysInfo->MaxSlicesSupported = ICLLP::maxSlicesSupported;
215-
gtSysInfo->MaxSubSlicesSupported = ICLLP::maxSubslicesSupported;
216-
gtSysInfo->IsL3HashModeEnabled = false;
217-
gtSysInfo->IsDynamicallyPopulated = false;
218-
if (setupFeatureTableAndWorkaroundTable) {
219-
setupFeatureAndWorkaroundTable(hwInfo);
220-
}
221206
};
222207

223208
const HardwareInfo ICLLP::hwInfo = ICLLP_1x8x8::hwInfo;

shared/source/gen11/hw_info_lkf.cpp

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -124,21 +124,9 @@ void LKF::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo) {
124124
workaroundTable->flags.waReportPerfCountUseGlobalContextID = true;
125125
};
126126

127-
const HardwareInfo LKF_1x8x8::hwInfo = {
128-
&LKF::platform,
129-
&LKF::featureTable,
130-
&LKF::workaroundTable,
131-
&LKF_1x8x8::gtSystemInfo,
132-
LKF::capabilityTable,
133-
};
134-
GT_SYSTEM_INFO LKF_1x8x8::gtSystemInfo = {0};
135-
void LKF_1x8x8::setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable) {
127+
void LKF::setupHardwareInfoBase(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable) {
136128
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
137129
gtSysInfo->ThreadCount = gtSysInfo->EUCount * LKF::threadsPerEu;
138-
gtSysInfo->SliceCount = 1;
139-
gtSysInfo->L3CacheSizeInKb = 2560;
140-
gtSysInfo->L3BankCount = 8;
141-
gtSysInfo->MaxFillRate = 16;
142130
gtSysInfo->TotalVsThreads = 448;
143131
gtSysInfo->TotalHsThreads = 448;
144132
gtSysInfo->TotalDsThreads = 448;
@@ -150,9 +138,29 @@ void LKF_1x8x8::setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTableAn
150138
gtSysInfo->MaxSubSlicesSupported = LKF::maxSubslicesSupported;
151139
gtSysInfo->IsL3HashModeEnabled = false;
152140
gtSysInfo->IsDynamicallyPopulated = false;
141+
153142
if (setupFeatureTableAndWorkaroundTable) {
154143
setupFeatureAndWorkaroundTable(hwInfo);
155144
}
145+
}
146+
147+
const HardwareInfo LKF_1x8x8::hwInfo = {
148+
&LKF::platform,
149+
&LKF::featureTable,
150+
&LKF::workaroundTable,
151+
&LKF_1x8x8::gtSystemInfo,
152+
LKF::capabilityTable,
153+
};
154+
GT_SYSTEM_INFO LKF_1x8x8::gtSystemInfo = {0};
155+
void LKF_1x8x8::setupHardwareInfo(HardwareInfo *hwInfo, bool setupFeatureTableAndWorkaroundTable) {
156+
LKF::setupHardwareInfoBase(hwInfo, setupFeatureTableAndWorkaroundTable);
157+
158+
GT_SYSTEM_INFO *gtSysInfo = &hwInfo->gtSystemInfo;
159+
gtSysInfo->ThreadCount = gtSysInfo->EUCount * LKF::threadsPerEu;
160+
gtSysInfo->SliceCount = 1;
161+
gtSysInfo->L3CacheSizeInKb = 2560;
162+
gtSysInfo->L3BankCount = 8;
163+
gtSysInfo->MaxFillRate = 16;
156164
};
157165

158166
const HardwareInfo LKF::hwInfo = LKF_1x8x8::hwInfo;

0 commit comments

Comments
 (0)