Hi Folks,
My problem started with an hangs of the “clBuildProgram” function on specific systems:
It occurs only on Win 8 (or greater) with the Intel HD Graphic devices (3000, 4000)[drivers up to date] while every thing works well on other systems.
The version of OpenCL is 1.1 and is supposed to be supported by the graphic chipsets.
I am currently reaching the point that make me wonder how to test the device in order to avoid that hang (I guess due to some driver problems).
So far I do the following:
// Check device availability & capability
{
cl_bool isDeviceAvailable, isDeviceCompilerAvailale;
if (!GetDeviceInfo(deviceIDs[deviceIndex], CL_DEVICE_AVAILABLE, isDeviceAvailable) || isDeviceAvailable != CL_TRUE ||
!GetDeviceInfo(deviceIDs[deviceIndex], CL_DEVICE_COMPILER_AVAILABLE, isDeviceCompilerAvailale) || isDeviceCompilerAvailale != CL_TRUE)
{
if (verbose) Log::Warning("%s::%d OpenCL device %d::%d not available.", __FUNCTION__, __LINE__, platformIndex, deviceIndex);
continue;
}
cl_device_exec_capabilities executionCapabilities;
if (GetDeviceInfo(deviceIDs[deviceIndex], CL_DEVICE_EXECUTION_CAPABILITIES, executionCapabilities) || !(executionCapabilities & CL_EXEC_KERNEL))
{
if (verbose) Log::Warning("%s::%d OpenCL device %d::%d has not the required execution capabilities.", __FUNCTION__, __LINE__, platformIndex, deviceIndex);
continue;
}
}
None of this function tell me that the device has a lack of OpenCL support.
I am working on legacy code, but I though of the “Extensions” and “clImages” support but none seems to be used.
What tells me that I am missing something is that with the exact same configuration, the software GPU-Z consider the same device as unavailable (Do I miss some tests?)
PS: It is very difficult for me to make tests as the problems cannot be reproduced on my own devices.
Thank you very much.
Kind regards,
M. J-L