I'm probably just missing something simple, but I'm having an issue with using the GPU with OpenCL under 64-bit Windows 7 on an Intel Z230 with P4600 graphics. I installed Intel INDE 2015 Update 2, and in Visual Studio 2013, I created an OpenCL application via the CodeBuilder Project for Windows. I just selected Finish, accepting all default options, which specifies GPU acceleration for OpenCL. When I run the resulting application, I get the error "clGetDeviceIDs() returned CL_DEVICE_NOT_FOUND" as no GPU device is located. If I replace the desired device type to be CL_DEVICE_TYPE_CPU instead of CL_DEVICE_TYPE_GPU, then the Add code example runs fine.
According to Device Manager, my graphics driver is 10.18.14.4170, and I ran the automatic driver updater to update it, where it detected 126.96.36.199.4222 was current and it determined an update was needed. The update appeared to be successful, but Device Manager still showed me 10.18.14.4170. I uninstalled that driver via the control panel so no explicit driver was loaded, and did another update (with the update app telling me I was now updating from 6.something instead of 10.18.14.4170), but after a reboot the 10.18.14.4170 version reappeared. Is that ultimately the source of my problem, or does driver 188.8.131.52.4222 in Intel numbering appear as 10.18.14.4170 in device manager? The release notes form INDE indicate that 15.33.3 or higher is needed for OpenCL, but I'm not sure if that is what I have or not.
Any thoughts would be appreciated - thanks!
You might try to download and install driver directly: https://downloadcenter.intel.com/search?keyword=4th+Generation+Intel%c2%ae+Core%e2%84%a2+Processors+with+Intel%c2%ae+HD+Graphics+4600
I wonder if the problem in your case has to do with the fact that you are using Intel(R) Xeon Processor and driver assumes that you don't have an integrated graphics without checking. I will ask our product team about this and get back to you.
Thanks for the suggestion, Robert, but that didn't do it. I uninstalled the driver again via the control panel, and Device Manager showed just a VGA device. I ran Setup.exe from the ZIP file download, and the readme box that is displayed shows the driver is 15.x, but when I perform the install it shows it is installing 10.x, and, after a reboot, I see 10.x in Device Manager.
I also haven't had luck installing the driver directly from Device Manager - it keeps telling me that I already have the current driver installed when I point it to the extracted ZIP file, but it isn't correct.
Any other suggestions would be welcome. Thanks!
Just to be sure, I uninstalled the driver again show it showed I just had a VGA adapter, and through Device Manager did Update Driver. I pointed to the extracted ZIP file, it loaded the driver, and had me reboot. When the machine came back, it was the 10.x driver again, and not the 15.x one. So, even directly through Device Manager, and not via Setup.exe, the 10.x driver is loaded.
Unfortunately no - it still just shows a CPU device (Intel(R) Xeon(R) CPU E3-1246 v3 @ 3.50GHz, device driver version 184.108.40.206) under Intel(R) OpenCL.
So 10.18.14.4222 is a good sign, though? I guess I would have expected to see 15.x after all.
I have bad news/good news. Bad news first: just got a word from our driver folks that the OpenCL for GPUs is currently disabled for Xeon parts in production drivers.
Good news is: Xeons like yours are fully capable of running OpenCL on their GPUs. We are currently looking for someone to make a business call and enable OpenCL. Will keep you posted. Sorry for this inconvenience: the decision was made ~3 years ago and someone was not thinking clearly.
I appreciate the update - fortunately I hadn't upgraded to the machine (a new acquisition that I'm just setting up now) with the intention of doing a lot with OpenCL, but I did hope that GPU-accelerated OpenCL was available, and the Intel web site documentation implied it was the case. If things do change and OpenCL works fully, please let me know. Thanks!
Any update on the OpenCL support for the integrated GPU in Xeon's, e.g., Xeon E3-1246v3? Hopefully Windows and Linux... Also, any special instructions on how to install drivers and configure them when a discreet GPU is also present?
The issue was fixed on the Windows driver mainline once I brought it up. Takes a couple of months for this to propagate to the production release driver. On the Linux side, not sure how this works, but I will ask. Linux driver team is a separate team and they merge Windows fixes, but how often that happens, I am not sure.
On installing drivers when discreet GPU is present: I used to do the following: 1. disable the discrete GPU, 2. Update all the drivers for Intel(R) Processor Graphics, 3. Enable discrete GPU, 4. Follow instructions here https://software.intel.com/en-us/articles/getting-started-with-opencl-development-on-windows-with-intel-inde - I just updated the article and verified that things should work with discrete GPUs as well.
Do you happen to know if it has made it into the production Windows driver yet? It actually has been "a couple of months" since my original post, and I look forward to trying it out. If it hasn't yet, but you happen to know what driver revision number it will appear in, that would be helpful so I can keep an eye out.
Any update about the Linux iGPU driver?
I've been trying to get my iGPU (right now using the default open source driver) and dGPU Linux system up and running for OpenCL use, but seems the driver installation for the dGPU conflicts with the iGPU. Do you have Linux details on how to achieve this?
Btw, it seems that since I want to target Linux, I should be using the Intel Media Server Studio (https://software.intel.com/en-us/intel-media-server-studio) instead of the Intel Integrated Native Developer Experience; however I can't find any mention of Xeon E3-1246v3 there either. The run-time only release notes for 15.1 (https://software.intel.com/en-us/articles/opencl-drivers) suggest wider Xeon GPU support though. It's frankly more confusing than I expected...
You are right, for the Linux driver you will need Intel Media Server Studio. I will ask about Xeon E3-1246v3 support on Linux and get back to you. The runtime your are referring to is for CPU only. For GPU support you need Intel MSS.