From eca06b35b9c8a1474ac0dee17f31f533d9e47d5f Mon Sep 17 00:00:00 2001 From: Sourabh Betigeri Date: Tue, 1 Mar 2022 16:29:23 -0800 Subject: [PATCH] SWDEV-273026 - Fixes a bug that skipped looping through all devices to book keep its corresponding memory in roclr Change-Id: I404f6d2bcd0c0e31b9b0237903f26f0af19bc735 [ROCm/clr commit: 545cfaf42841381165fa8821556f88bbda6ec838] --- projects/clr/hipamd/src/hip_memory.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/clr/hipamd/src/hip_memory.cpp b/projects/clr/hipamd/src/hip_memory.cpp index 8e16200d41..1848b5bc4c 100644 --- a/projects/clr/hipamd/src/hip_memory.cpp +++ b/projects/clr/hipamd/src/hip_memory.cpp @@ -990,10 +990,10 @@ hipError_t hipHostRegister(void* hostPtr, size_t sizeBytes, unsigned int flags) HIP_RETURN(hipErrorOutOfMemory); } - for (const auto& device: hip::getCurrentDevice()->devices()) { + for (const auto& device : g_devices) { // Since the amd::Memory object is shared between all devices // it's fine to have multiple addresses mapped to it - const device::Memory* devMem = mem->getDeviceMemory(*device); + const device::Memory* devMem = mem->getDeviceMemory(*device->devices()[0]); amd::MemObjMap::AddMemObj(reinterpret_cast(devMem->virtualAddress()), mem); }