Refactor getMemoryAccessProperties()

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
This commit is contained in:
Jaime Arteaga
2022-03-11 21:58:08 +00:00
committed by Compute-Runtime-Automation
parent 604f2c625e
commit 5038cf6cfc
2 changed files with 73 additions and 4 deletions

View File

@@ -374,12 +374,23 @@ ze_result_t DeviceImp::getMemoryAccessProperties(ze_device_memory_access_propert
auto &hwInfoConfig = *NEO::HwInfoConfig::get(hwInfo.platform.eProductFamily);
pMemAccessProperties->hostAllocCapabilities =
static_cast<ze_memory_access_cap_flags_t>(hwInfoConfig.getHostMemCapabilities(&hwInfo));
pMemAccessProperties->deviceAllocCapabilities =
ZE_MEMORY_ACCESS_CAP_FLAG_RW | ZE_MEMORY_ACCESS_CAP_FLAG_ATOMIC;
static_cast<ze_memory_access_cap_flags_t>(hwInfoConfig.getDeviceMemCapabilities());
pMemAccessProperties->sharedSingleDeviceAllocCapabilities =
ZE_MEMORY_ACCESS_CAP_FLAG_RW | ZE_MEMORY_ACCESS_CAP_FLAG_ATOMIC;
pMemAccessProperties->sharedCrossDeviceAllocCapabilities = 0;
pMemAccessProperties->sharedSystemAllocCapabilities = 0;
static_cast<ze_memory_access_cap_flags_t>(hwInfoConfig.getSingleDeviceSharedMemCapabilities());
pMemAccessProperties->sharedCrossDeviceAllocCapabilities = {};
if (this->getNEODevice()->getHardwareInfo().capabilityTable.p2pAccessSupported) {
pMemAccessProperties->sharedCrossDeviceAllocCapabilities |= ZE_MEMORY_ACCESS_CAP_FLAG_RW | ZE_MEMORY_ACCESS_CAP_FLAG_CONCURRENT;
if (this->getNEODevice()->getHardwareInfo().capabilityTable.p2pAtomicAccessSupported) {
pMemAccessProperties->sharedCrossDeviceAllocCapabilities |= ZE_MEMORY_ACCESS_CAP_FLAG_ATOMIC | ZE_MEMORY_ACCESS_CAP_FLAG_CONCURRENT_ATOMIC;
}
}
pMemAccessProperties->sharedSystemAllocCapabilities =
static_cast<ze_memory_access_cap_flags_t>(hwInfoConfig.getSharedSystemMemCapabilities(&hwInfo));
return ZE_RESULT_SUCCESS;
}