fix: account for hp engines when calculating max context count

Related-To: NEO-11983

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
Mateusz Hoppe
2024-07-26 09:24:38 +00:00
committed by Compute-Runtime-Automation
parent e24acc6155
commit 83ad60eb29
4 changed files with 15 additions and 1 deletions

View File

@@ -57,6 +57,7 @@ class MockMemoryManager : public MemoryManagerCreate<OsAgnosticMemoryManager> {
using MemoryManager::isaInLocalMemory;
using MemoryManager::isAllocationTypeToCapture;
using MemoryManager::isCopyRequired;
using MemoryManager::latestContextId;
using MemoryManager::localMemorySupported;
using MemoryManager::reservedMemory;
using MemoryManager::secondaryEngines;

View File

@@ -5490,14 +5490,21 @@ HWTEST_F(CommandStreamReceiverContextGroupTest, givenContextGroupWhenCreatingEng
auto &engineInstances = device->getGfxCoreHelper().getGpgpuEngineInstances(*device->getExecutionEnvironment()->rootDeviceEnvironments[0]);
uint32_t numRegularEngines = 0;
uint32_t numHpEngines = 0;
for (const auto &engine : engineInstances) {
if (engine.second == EngineUsage::regular) {
numRegularEngines++;
}
if (engine.second == EngineUsage::highPriority) {
numHpEngines++;
}
}
auto osContextCount = static_cast<uint32_t>(engineInstances.size()) + (numRegularEngines * device->getGfxCoreHelper().getContextGroupContextsCount()) + static_cast<uint32_t>(hwInfo.featureTable.ftrBcsInfo.count());
auto osContextCount = static_cast<uint32_t>(engineInstances.size()) +
(numRegularEngines * device->getGfxCoreHelper().getContextGroupContextsCount()) +
(numHpEngines * device->getGfxCoreHelper().getContextGroupContextsCount()) +
static_cast<uint32_t>(hwInfo.featureTable.ftrBcsInfo.count());
EXPECT_EQ(osContextCount, MemoryManager::maxOsContextCount);
}

View File

@@ -1632,6 +1632,8 @@ HWTEST_F(DeviceTests, givenCopyEnginesWhenCreatingSecondaryContextsThenUseCopyTy
EXPECT_EQ(0u, memoryManager->secondaryEngines[0].size());
EXPECT_EQ(0u, memoryManager->allRegisteredEngines[0].size());
EXPECT_GT(memoryManager->maxOsContextCount, memoryManager->latestContextId);
executionEnvironment->decRefInternal();
}