P4 to Git Change 1989089 by kjayapra@0_HIPWS_P2P_ROCM on 2019/08/26 14:24:21

SWDEV-198194 - Delete vars at __hipUnregisterFatBinary.

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/hip/hip_internal.hpp#39 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_module.cpp#38 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_platform.cpp#40 edit
This commit is contained in:
foreman
2019-08-26 14:32:48 -04:00
rodzic d3bbe46d39
commit 3cb2dd541a
3 zmienionych plików z 11 dodań i 4 usunięć
+5 -2
Wyświetl plik
@@ -165,18 +165,20 @@ extern "C" std::vector< std::pair<hipModule_t, bool> >* __hipRegisterFatBinary(c
return programs;
}
void PlatformState::unregisterVar(hipModule_t hmod) {
std::vector< std::pair<hipModule_t, bool> >* PlatformState::unregisterVar(hipModule_t hmod) {
amd::ScopedLock lock(lock_);
std::vector< std::pair<hipModule_t, bool> >* rmodules = nullptr;
auto it = vars_.begin();
while (it != vars_.end()) {
DeviceVar& dvar = it->second;
if ((*dvar.modules)[0].first == hmod) {
delete dvar.modules;
rmodules = dvar.modules;
vars_.erase(it++);
} else {
++it;
}
}
return rmodules;
}
void PlatformState::registerVar(const void* hostvar,
@@ -392,6 +394,7 @@ extern "C" void __hipUnregisterFatBinary(std::vector< std::pair<hipModule_t, boo
as_amd(reinterpret_cast<cl_program>(module.first))->release();
}
});
PlatformState::instance().unregisterVar((*modules)[0].first);
delete modules;
}