diff --git a/projects/clr/hipamd/src/hip_vm.cpp b/projects/clr/hipamd/src/hip_vm.cpp index 031c001834..5df9c41902 100644 --- a/projects/clr/hipamd/src/hip_vm.cpp +++ b/projects/clr/hipamd/src/hip_vm.cpp @@ -283,7 +283,7 @@ hipError_t hipMemSetAccess(void* ptr, size_t size, const hipMemAccessDesc* desc, } for (size_t desc_idx = 0; desc_idx < count; ++desc_idx) { - + if (desc[desc_idx].location.id >= g_devices.size()) { HIP_RETURN(hipErrorInvalidValue) } @@ -295,7 +295,7 @@ hipError_t hipMemSetAccess(void* ptr, size_t size, const hipMemAccessDesc* desc, auto& dev = g_devices[desc[desc_idx].location.id]; amd::Device::VmmAccess access_flags = static_cast(desc[desc_idx].flags); - if (!dev->devices()[0]->SetMemAccess(ptr, size, access_flags, count)) { + if (!dev->devices()[0]->SetMemAccess(ptr, size, access_flags)) { HIP_RETURN(hipErrorInvalidValue); } } diff --git a/projects/clr/rocclr/device/device.hpp b/projects/clr/rocclr/device/device.hpp index 5a98f9157c..c73b2b527a 100644 --- a/projects/clr/rocclr/device/device.hpp +++ b/projects/clr/rocclr/device/device.hpp @@ -1813,8 +1813,7 @@ class Device : public RuntimeObject { * @param access_flags Access permissions * @param count Number of access permissions */ - virtual bool SetMemAccess(void* va_addr, size_t va_size, VmmAccess access_flags, - size_t count) = 0; + virtual bool SetMemAccess(void* va_addr, size_t va_size, VmmAccess access_flags) = 0; /** * Get Access permisions for a virtual memory object. diff --git a/projects/clr/rocclr/device/pal/paldevice.hpp b/projects/clr/rocclr/device/pal/paldevice.hpp index a843a02174..593a329101 100644 --- a/projects/clr/rocclr/device/pal/paldevice.hpp +++ b/projects/clr/rocclr/device/pal/paldevice.hpp @@ -147,7 +147,7 @@ class NullDevice : public amd::Device { virtual void* virtualAlloc(void* addr, size_t size, size_t alignment) { return nullptr; }; virtual void virtualFree(void* addr) { }; - virtual bool SetMemAccess(void* va_addr, size_t va_size, VmmAccess access_flags, size_t count) { + virtual bool SetMemAccess(void* va_addr, size_t va_size, VmmAccess access_flags) { return true; } @@ -549,7 +549,7 @@ class Device : public NullDevice { virtual void* virtualAlloc(void* addr, size_t size, size_t alignment); virtual void virtualFree(void* addr); - virtual bool SetMemAccess(void* va_addr, size_t va_size, VmmAccess access_flags, size_t count) { + virtual bool SetMemAccess(void* va_addr, size_t va_size, VmmAccess access_flags) { return true; } diff --git a/projects/clr/rocclr/device/rocm/rocdevice.cpp b/projects/clr/rocclr/device/rocm/rocdevice.cpp index 361959f6a6..d2e414ac9b 100644 --- a/projects/clr/rocclr/device/rocm/rocdevice.cpp +++ b/projects/clr/rocclr/device/rocm/rocdevice.cpp @@ -2442,13 +2442,13 @@ void Device::virtualFree(void* addr) { } } -bool Device::SetMemAccess(void* va_addr, size_t va_size, VmmAccess access_flags, size_t count) { +bool Device::SetMemAccess(void* va_addr, size_t va_size, VmmAccess access_flags) { hsa_status_t hsa_status = HSA_STATUS_SUCCESS; hsa_amd_memory_access_desc_t desc; desc.permissions = static_cast(access_flags); desc.agent_handle = getBackendDevice(); - if ((hsa_status = hsa_amd_vmem_set_access(va_addr, va_size, &desc, count)) + if ((hsa_status = hsa_amd_vmem_set_access(va_addr, va_size, &desc, 1)) != HSA_STATUS_SUCCESS) { LogPrintfError("Failed hsa_amd_vmem_set_access. Failed with status:%d \n", hsa_status); return false; diff --git a/projects/clr/rocclr/device/rocm/rocdevice.hpp b/projects/clr/rocclr/device/rocm/rocdevice.hpp index 141449328d..0606c593b6 100644 --- a/projects/clr/rocclr/device/rocm/rocdevice.hpp +++ b/projects/clr/rocclr/device/rocm/rocdevice.hpp @@ -231,7 +231,7 @@ class NullDevice : public amd::Device { return; } - virtual bool SetMemAccess(void* va_addr, size_t va_size, VmmAccess access_flags, size_t count) + virtual bool SetMemAccess(void* va_addr, size_t va_size, VmmAccess access_flags) override { ShouldNotReachHere(); return false; @@ -468,7 +468,7 @@ class Device : public NullDevice { virtual void* virtualAlloc(void* req_addr, size_t size, size_t alignment); virtual void virtualFree(void* addr); - virtual bool SetMemAccess(void* va_addr, size_t va_size, VmmAccess access_flags, size_t count); + virtual bool SetMemAccess(void* va_addr, size_t va_size, VmmAccess access_flags); virtual bool GetMemAccess(void* va_addr, VmmAccess* access_flags_ptr); virtual bool SetClockMode(const cl_set_device_clock_mode_input_amd setClockModeInput,