From cb3642e26eecccfa24f277514ada3af47beb26f0 Mon Sep 17 00:00:00 2001 From: Jaydeep Patel Date: Tue, 9 May 2023 10:03:33 +0000 Subject: [PATCH] SWDEV-398047 - Disable arena for XNACK. Change-Id: If6c98490bd5b8146a357f45ed132f687def0877f [ROCm/clr commit: ffa1deef271fd220470f237bee70aecc5806f4db] --- projects/clr/hipamd/src/hip_memory.cpp | 2 +- projects/clr/rocclr/device/rocm/rocdevice.cpp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/projects/clr/hipamd/src/hip_memory.cpp b/projects/clr/hipamd/src/hip_memory.cpp index 2709f46c81..67e845169f 100644 --- a/projects/clr/hipamd/src/hip_memory.cpp +++ b/projects/clr/hipamd/src/hip_memory.cpp @@ -34,7 +34,7 @@ std::unordered_set hip::hipArraySet; amd::Memory* getMemoryObject(const void* ptr, size_t& offset, size_t size) { auto memObj = amd::MemObjMap::FindMemObj(ptr, &offset); if (memObj == nullptr) { - // If memObj not found, use arena_mem_obj. arena_mem_obj is null, if HMM and Xnack is disabled. + // If memObj not found, use arena_mem_obj. arena_mem_obj is null, if HMM is disabled. memObj = (hip::getCurrentDevice()->asContext()->svmDevices()[0])->GetArenaMemObj( ptr, offset, size); } diff --git a/projects/clr/rocclr/device/rocm/rocdevice.cpp b/projects/clr/rocclr/device/rocm/rocdevice.cpp index 1c24279558..bb791d4c6f 100644 --- a/projects/clr/rocclr/device/rocm/rocdevice.cpp +++ b/projects/clr/rocclr/device/rocm/rocdevice.cpp @@ -3235,9 +3235,10 @@ device::Signal* Device::createSignal() const { amd::Memory* Device::GetArenaMemObj(const void* ptr, size_t& offset, size_t size) { // Only create arena_mem_object if CPU memory is accessible from HMM // or if runtime received an interop from another ROCr's client + // Disable arena for XNACK hsa_amd_pointer_info_t ptr_info = {}; ptr_info.size = sizeof(hsa_amd_pointer_info_t); - if (!info_.hmmCpuMemoryAccessible_ && !IsValidAllocation(ptr, size, &ptr_info)) { + if (!IsValidAllocation(ptr, size, &ptr_info)) { return nullptr; }