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++);