From ee2ff4bc5e2c63d2d35808cd1986d43ec0394b8d Mon Sep 17 00:00:00 2001 From: kjayapra-amd Date: Fri, 5 Jun 2020 19:28:25 -0400 Subject: [PATCH] SWDEV-239327 - Remove amd_mem_obj during unregistervar Change-Id: I2130eaa21369b9634a9459680061138c61eaaaa4 --- hipamd/rocclr/hip_internal.hpp | 1 + hipamd/rocclr/hip_platform.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/hipamd/rocclr/hip_internal.hpp b/hipamd/rocclr/hip_internal.hpp index 13b06fa902..264b68ecc2 100755 --- a/hipamd/rocclr/hip_internal.hpp +++ b/hipamd/rocclr/hip_internal.hpp @@ -245,6 +245,7 @@ public: ~RegisteredVar() {} hipDeviceptr_t getdeviceptr() const { return devicePtr_; }; + amd::Memory* amd_mem_obj() const { return amd_mem_obj_; }; size_t getvarsize() const { return size_; }; size_t size_; // Size of the variable diff --git a/hipamd/rocclr/hip_platform.cpp b/hipamd/rocclr/hip_platform.cpp index 49c14a3296..5a96bcbc68 100755 --- a/hipamd/rocclr/hip_platform.cpp +++ b/hipamd/rocclr/hip_platform.cpp @@ -239,6 +239,7 @@ std::vector< std::pair >* PlatformState::unregisterVar(hipMod for (size_t dev = 0; dev < g_devices.size(); ++dev) { if (dvar.rvars[dev].getdeviceptr()) { amd::MemObjMap::RemoveMemObj(dvar.rvars[dev].getdeviceptr()); + dvar.rvars[dev].amd_mem_obj()->release(); } } vars_.erase(it++);