P4 to Git Change 1972494 by kjayapra@0_HIPWS_P2P1_ROCM on 2019/07/23 20:01:13
SWDEV-144570 - Handling variable register during hipModuleLoad. Affected files ... ... //depot/stg/opencl/drivers/opencl/api/hip/hip_internal.hpp#31 edit ... //depot/stg/opencl/drivers/opencl/api/hip/hip_module.cpp#30 edit ... //depot/stg/opencl/drivers/opencl/api/hip/hip_platform.cpp#34 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/devprogram.cpp#51 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/devprogram.hpp#30 edit
このコミットが含まれているのは:
+15
-3
@@ -165,10 +165,23 @@ extern "C" std::vector< std::pair<hipModule_t, bool> >* __hipRegisterFatBinary(c
|
||||
return programs;
|
||||
}
|
||||
|
||||
void PlatformState::unregisterVar(hipModule_t hmod) {
|
||||
auto it = vars_.begin();
|
||||
while (it != vars_.end()) {
|
||||
DeviceVar& dvar = it->second;
|
||||
if ((*dvar.modules)[0].first == hmod) {
|
||||
delete dvar.modules;
|
||||
vars_.erase(it++);
|
||||
} else {
|
||||
++it;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void PlatformState::registerVar(const void* hostvar,
|
||||
const DeviceVar& rvar) {
|
||||
amd::ScopedLock lock(lock_);
|
||||
vars_.insert(std::make_pair(hostvar, rvar));
|
||||
vars_.insert(std::make_pair(std::string(reinterpret_cast<const char*>(hostvar)), rvar));
|
||||
}
|
||||
|
||||
void PlatformState::registerFunction(const void* hostFunction,
|
||||
@@ -253,11 +266,10 @@ bool PlatformState::getFuncAttr(const void* hostFunction,
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool PlatformState::getGlobalVar(const void* hostVar, int deviceId,
|
||||
hipDeviceptr_t* dev_ptr, size_t* size_ptr) {
|
||||
amd::ScopedLock lock(lock_);
|
||||
const auto it = vars_.find(hostVar);
|
||||
const auto it = vars_.find(std::string(reinterpret_cast<const char*>(hostVar)));
|
||||
if (it != vars_.cend()) {
|
||||
DeviceVar& dvar = it->second;
|
||||
if (dvar.rvars[deviceId].getdeviceptr() == nullptr) {
|
||||
|
||||
新しいイシューから参照
ユーザーをブロックする