Move slice enable to setHwInfoValuesFromConfig

Fix problem with not enabled slices in mode SetCommandStreamReceiver=1

Related-To: NEO-6507
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
This commit is contained in:
Katarzyna Cencelewska 2021-12-06 19:25:14 +00:00 committed by Compute-Runtime-Automation
parent b7cee61bde
commit 3979af1dcc
5 changed files with 24 additions and 18 deletions

View File

@ -312,10 +312,6 @@ int main(int argc, char **argv) {
gtSystemInfo.IsDynamicallyPopulated = false;
// clang-format on
for (uint32_t slice = 0; slice < gtSystemInfo.MaxSlicesSupported; slice++) {
gtSystemInfo.SliceInfo[slice].Enabled = true;
}
// Platforms with uninitialized factory are not supported
if (L0::commandListFactory[productFamily] == nullptr) {
std::cout << "unsupported product family has been set: " << NEO::hardwarePrefix[::productFamily] << std::endl;

View File

@ -362,10 +362,6 @@ int main(int argc, char **argv) {
gtSystemInfo.IsDynamicallyPopulated = false;
// clang-format on
for (uint32_t slice = 0; slice < gtSystemInfo.MaxSlicesSupported; slice++) {
gtSystemInfo.SliceInfo[slice].Enabled = true;
}
binaryNameSuffix.append(familyName[hwInfoForTests.platform.eRenderCoreFamily]);
binaryNameSuffix.append(hwInfoForTests.capabilityTable.platformType);

View File

@ -79,15 +79,21 @@ TEST_F(HwInfoConfigTest, WhenParsingHwInfoConfigThenCorrectValuesAreReturned) {
EXPECT_EQ(outHwInfo.gtSystemInfo.SubSliceCount, 1u);
EXPECT_EQ(outHwInfo.gtSystemInfo.DualSubSliceCount, 1u);
EXPECT_EQ(outHwInfo.gtSystemInfo.EUCount, 1u);
for (uint32_t slice = 0; slice < outHwInfo.gtSystemInfo.SliceCount; slice++) {
EXPECT_TRUE(outHwInfo.gtSystemInfo.SliceInfo[slice].Enabled);
}
success = parseHwInfoConfigString("7x1x1", hwInfoConfig);
success = parseHwInfoConfigString("3x1x1", hwInfoConfig);
EXPECT_TRUE(success);
EXPECT_EQ(hwInfoConfig, 0x700010001u);
EXPECT_EQ(hwInfoConfig, 0x300010001u);
setHwInfoValuesFromConfig(hwInfoConfig, outHwInfo);
EXPECT_EQ(outHwInfo.gtSystemInfo.SliceCount, 7u);
EXPECT_EQ(outHwInfo.gtSystemInfo.SubSliceCount, 7u);
EXPECT_EQ(outHwInfo.gtSystemInfo.DualSubSliceCount, 7u);
EXPECT_EQ(outHwInfo.gtSystemInfo.EUCount, 7u);
EXPECT_EQ(outHwInfo.gtSystemInfo.SliceCount, 3u);
EXPECT_EQ(outHwInfo.gtSystemInfo.SubSliceCount, 3u);
EXPECT_EQ(outHwInfo.gtSystemInfo.DualSubSliceCount, 3u);
EXPECT_EQ(outHwInfo.gtSystemInfo.EUCount, 3u);
for (uint32_t slice = 0; slice < outHwInfo.gtSystemInfo.SliceCount; slice++) {
EXPECT_TRUE(outHwInfo.gtSystemInfo.SliceInfo[slice].Enabled);
}
success = parseHwInfoConfigString("1x7x1", hwInfoConfig);
EXPECT_TRUE(success);
@ -97,6 +103,9 @@ TEST_F(HwInfoConfigTest, WhenParsingHwInfoConfigThenCorrectValuesAreReturned) {
EXPECT_EQ(outHwInfo.gtSystemInfo.SubSliceCount, 7u);
EXPECT_EQ(outHwInfo.gtSystemInfo.DualSubSliceCount, 7u);
EXPECT_EQ(outHwInfo.gtSystemInfo.EUCount, 7u);
for (uint32_t slice = 0; slice < outHwInfo.gtSystemInfo.SliceCount; slice++) {
EXPECT_TRUE(outHwInfo.gtSystemInfo.SliceInfo[slice].Enabled);
}
success = parseHwInfoConfigString("1x1x7", hwInfoConfig);
EXPECT_TRUE(success);
@ -106,6 +115,9 @@ TEST_F(HwInfoConfigTest, WhenParsingHwInfoConfigThenCorrectValuesAreReturned) {
EXPECT_EQ(outHwInfo.gtSystemInfo.SubSliceCount, 1u);
EXPECT_EQ(outHwInfo.gtSystemInfo.DualSubSliceCount, 1u);
EXPECT_EQ(outHwInfo.gtSystemInfo.EUCount, 7u);
for (uint32_t slice = 0; slice < outHwInfo.gtSystemInfo.SliceCount; slice++) {
EXPECT_TRUE(outHwInfo.gtSystemInfo.SliceInfo[slice].Enabled);
}
success = parseHwInfoConfigString("2x4x16", hwInfoConfig);
EXPECT_TRUE(success);
@ -115,6 +127,9 @@ TEST_F(HwInfoConfigTest, WhenParsingHwInfoConfigThenCorrectValuesAreReturned) {
EXPECT_EQ(outHwInfo.gtSystemInfo.SubSliceCount, 8u);
EXPECT_EQ(outHwInfo.gtSystemInfo.DualSubSliceCount, 8u);
EXPECT_EQ(outHwInfo.gtSystemInfo.EUCount, 128u);
for (uint32_t slice = 0; slice < outHwInfo.gtSystemInfo.SliceCount; slice++) {
EXPECT_TRUE(outHwInfo.gtSystemInfo.SliceInfo[slice].Enabled);
}
}
TEST_F(HwInfoConfigTest, givenInvalidHwInfoWhenParsingHwInfoConfigThenErrorIsReturned) {

View File

@ -72,6 +72,9 @@ void setHwInfoValuesFromConfig(const uint64_t hwInfoConfig, HardwareInfo &hwInfo
hwInfoIn.gtSystemInfo.SubSliceCount = subSlicePerSliceCount * sliceCount;
hwInfoIn.gtSystemInfo.DualSubSliceCount = subSlicePerSliceCount * sliceCount;
hwInfoIn.gtSystemInfo.EUCount = euPerSubSliceCount * subSlicePerSliceCount * sliceCount;
for (uint32_t slice = 0; slice < hwInfoIn.gtSystemInfo.SliceCount; slice++) {
hwInfoIn.gtSystemInfo.SliceInfo[slice].Enabled = true;
}
}
bool parseHwInfoConfigString(const std::string &hwInfoConfigStr, uint64_t &hwInfoConfig) {

View File

@ -341,10 +341,6 @@ int main(int argc, char **argv) {
gtSystemInfo.IsDynamicallyPopulated = false;
// clang-format on
for (uint32_t slice = 0; slice < gtSystemInfo.MaxSlicesSupported; slice++) {
gtSystemInfo.SliceInfo[slice].Enabled = true;
}
binaryNameSuffix.append(familyName[hwInfoForTests.platform.eRenderCoreFamily]);
binaryNameSuffix.append(hwInfoForTests.capabilityTable.platformType);