P4 to Git Change 2047424 by lmoriche@lmoriche_opencl_dev2 on 2019/12/17 20:13:01

SWDEV-216705 - [hipclang-vdi-rocm][FBA-80]Test crash when all GPUs are hidden by ROCR_VISIBLE_DEVICES

	Return an error instead of dereferencing a null pointer. This should address the issue described
	in the ticket, but more places need fixing in the runtime to avoid crashes for corner cases.

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/hip/hip_context.cpp#26 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_device_runtime.cpp#23 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_memory.cpp#92 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_platform.cpp#58 edit


[ROCm/clr commit: 8d32b426dd]
Этот коммит содержится в:
foreman committed 2019-12-17 20:18:36 -05:00
1 родитель 711cdc2d14
Коммит 4ab8c60043
4 files changed
+15 -4

No files matched your search

+6 -1
Просмотреть файл
@@ -469,7 +469,9 @@ 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);
if (modules->size() > 0) {
PlatformState::instance().unregisterVar((*modules)[0].first);
}
PlatformState::instance().removeFatBinary(modules);
}
@@ -532,6 +534,9 @@ extern "C" hipError_t hipLaunchByPtr(const void *hostFunction)
HIP_INIT_API(NONE, hostFunction);
int deviceId = ihipGetDevice();
if (deviceId == -1) {
HIP_RETURN(hipErrorNoDevice);
}
hipFunction_t func = PlatformState::instance().getFunc(hostFunction, deviceId);
if (func == nullptr) {
HIP_RETURN(hipErrorInvalidDeviceFunction);