The OpenCL function "clBuildProgram" hangs on those specific systems (while every thing works well on other ones):
Intel HD Graphic 3000 on Win 8.1 with this specific driver (22.214.171.12447) + possibly some Intel HD 4000
So, it seems to concern only a small list of chipsets, cf: https://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=22672&keyword=126.96.36.19947&DownloadType=Drivers&lang=eng
Before compilling the program I am testing the device with 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);
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);
None of those functions tell me that the device have a lack of OpenCL support; although I am working on legacy code "Extensions" and "clImages" are neither used.
Unortunately, I don't have the above hardware and the problem only occurs on client desktops, so I was not able to reproduce it on my own hardwares and go further with tracking down the problem. However I got able to get the call stack hanging entry point which is the function "clBuildPrograms".
PS: I have seen exact same problem on an older threads, but after the bug submission no update was made:
http://software.intel.com/en-us/forums/topic/329291 - http://software.intel.com/en-us/forums/topic/279313 - http://software.intel.com/en-us/forums/topic/487559
PS: The driver is unique for those plateformes, so cannot advice customers to update/downdate it.
PS: I have also seen that there is "similar" OpenCL known issue with Intel HD Graphics laster driver:
"When two applications are concurrently using OpenCL, the graphics driver may crash."
Thank you very much.
OpenCL is not supported on Intel HD Graphics 3000, so your OpenCL code is expected to failed. Can you confirm that any of the issues are also available with supported Intel Graphics (see list here: http://software.intel.com/en-us/articles/intel-sdk-for-opencl-applications-2013-release-notes#hw)