I have installed the latest intel opencl sdk 2012
However the application stops at the point when it calls clGetPlatformIDs()
The function returns -1001
I can confirm that registry keys point correctly to IntelOpenCL32/64.dll, and the files exist in the system path
My CPU is i5-2500K
The same program runs fine on another pc with AMD opencl driver and i3 cpu
Please help and advise
-1001 = CL_PLATFORM_NOT_FOUND_KHR, and is returned when clGetPlatformIDs() sees no platforms available. Obviously, you are trying to execute your code on the Intel HD graphics. Can you list the driver version you are using?
I want to run my code on CPU. I understand that it should be possible.
The idea is to have a CPU-fallback option when there is no compliant GPU, which is the case with sandy bridge.
More info: on the 2nd machine, with working amd opencl, I also installed intel opencl, and guess what? It still shows only amd platform.
I think I have the latest driver (maybe late 2012)
BTW do I understand correctly that I need to have intel graphics driver istalled (and probably to have intel graphics enabled in bios and device manager) for intel opencl to run on CPU?
No that's not true. You can just install the CPU runtime to expose the OpenCL CPU device. I am guessing there was some other problem with your previous installation and the runtime probably didnt detect your device.