XeHPC: force local memory for command/ring/semaphore buffer

require 48bit resource for ring/semaphore buffer
for multi tile allocations select first tile
for single tile allocation select preferred tile

Related-To: NEO-6698
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2022-03-23 15:04:33 +00:00
committed by Compute-Runtime-Automation
parent 814b0ecb87
commit 8a8b4866cb
8 changed files with 47 additions and 20 deletions

View File

@@ -154,13 +154,13 @@ StorageInfo MemoryManager::createStorageInfoFromProperties(const AllocationPrope
break;
}
bool forceLocalMemoryForDirectSubmission = properties.flags.multiOsContextCapable;
bool forceLocalMemoryForDirectSubmission = true;
switch (DebugManager.flags.DirectSubmissionForceLocalMemoryStorageMode.get()) {
case 0:
forceLocalMemoryForDirectSubmission = false;
break;
case 2:
forceLocalMemoryForDirectSubmission = true;
case 1:
forceLocalMemoryForDirectSubmission = properties.flags.multiOsContextCapable;
break;
default:
break;
@@ -170,11 +170,13 @@ StorageInfo MemoryManager::createStorageInfoFromProperties(const AllocationPrope
if (properties.allocationType == AllocationType::COMMAND_BUFFER ||
properties.allocationType == AllocationType::RING_BUFFER ||
properties.allocationType == AllocationType::SEMAPHORE_BUFFER) {
storageInfo.memoryBanks = {};
for (auto bank = 0u; bank < deviceCount; bank++) {
if (allTilesValue.test(bank)) {
storageInfo.memoryBanks.set(bank);
break;
if (properties.flags.multiOsContextCapable) {
storageInfo.memoryBanks = {};
for (auto bank = 0u; bank < deviceCount; bank++) {
if (allTilesValue.test(bank)) {
storageInfo.memoryBanks.set(bank);
break;
}
}
}
UNRECOVERABLE_IF(storageInfo.memoryBanks.none());