- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
What's the current (driver) state of accessing the compute capabilities of the an integrated HD graphics processor with OpenCL when there is NO display connected? I do not see the my HD 4000 when the display is connected to the discreet GPU.
Driver version: 10.18.10.4252
Is there any software hack to this (not the dummy plug solution) ?
Thanks,
Florian
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, looks like an Ivy Bridge bug. I'll try to get driver folks to fix this.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Florian,
Couple of questions:
1. Could you try the latest and greatest 4276 driver?
2. Which operating system are you trying it on? My understanding is that you will only be able to use headless mode on Windows 8 or above.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Although I'm developing on an integrated Intel GPU with a display attached, I was hoping to deploy on headless cloud servers running CentOS 7.1. Can you update the documentation to highlight this current limitation if it indeed exists, and comment on any timeline on when the support would be available? I unfortunately took this for granted since other GPU vendors I've used can run headless. Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Robert,
Well, apparently your recommendation to just updated the driver doesn't help. The documentation below of the latest code builder states that it is not possible.
Can you escalate this? There are numerous requests for this in this forum over multiple years.
From: https://software.intel.com/file/458086/download
• OpenCL driver availability on systems with Intel® Processor Graphics and discrete graphics cards (Windows* OS only): o Capabilities of both discrete and integrated graphics are available if display is connected to: Integrated graphics card display port. Discrete and integrated graphics cards simultaneously. o Capabilities of a discrete card only are available if display is connected to: Discrete graphics card display port. Integrated graphics card, and a discrete graphics card has no display ports.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Florian,
Which OS are you running on? Should work on Windows 8 and beyond. Will figure out what the answer is on CentOS 7.1.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I tried with Windows 8, 8.1, and 10.
What makes you think it should work if the documentation states explicitly otherwise?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Oh, Ok, now I get it: you are asking for a headless operation in the presence of a discrete graphics card.
In the past, I used to connect monitor to discrete graphics, disable it, connect it to integrated graphics so that the driver for it is installed, and then enabled discrete graphics and reconnected display to discrete: the GEN driver remained and so I was able to have access to both discrete graphics and GEN. Let me know if that trick works for you, while I will try to coax a more scalable solution from the driver folks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Florian,
I sent a request to driver architect, so hopefully he can clarify it for us. In the meantime, one thing you might try is C++ AMP - it should be optimized for Intel Processor Graphics - I tried it and was really impressed with the performance: in my tests it was comparable to OpenCL. And C++ AMP uses DirectX compute shaders under the hood, so if DirectX works for you, C++ AMP should as well. And C++ AMP should be portable https://bitbucket.org/multicoreware/cppamp-driver-ng/wiki/Home to Linux, though I haven't tried that (we did develop a portable version of C++ AMP internally and it worked nicely on Windows, Linux, Mac and Android - I know since I ported it :)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Robert-
AMP is not an option as it doesn't really support runtime recompile, but thanks for pointing that out.
Any news from the driver guys?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Florian,
Driver guy is saying things should work right out of the box with Windows 8 (but I suspect that he means it will work on 4th, 5th, or 6th gen chip, and you have 3rd gen - Ivy Bridge, which could be an issue). I need to find a system with both Integrated Graphics and Discrete Graphics internally (I have one 4th gen system in mind) and try it out there. Is it an option to upgrade to 4th gen chip or above?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Unfortunately this isn't just for me running some compute on one machine. I'm basically looking to utilize the integrated intel chips in a game engine just like DirectX 12 is advertising, but without requiring Windows 10 as Microsoft insists on. So the most natural way is to go OpenGL with OpenCL (while waiting for Vulkan). Requiring a 4th gen+ Intel chip isn't an options as it needs to maximize reach and hw compatibility. The the target I'd like to reach are gaming PCs which typically have both a discrete and an integrated GPU.
Can you ask the drivers guys whether there is a deployable/redistributable software solution for getting this to work?
Thanks.
PS: just tried this: https://github.com/GameTechDev/DX12-Multi-Adapter and I can confirm that both my Nvidia and Hd4000 are found and rendering/computing. This tells me it is NOT a hardware (Ivy Bridge) issue but on the driver (design) level.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Florian,
I found some 4th gen box with NVidia graphics card on it: the monitor is connected to the card, it runs Win10, and OpenCL sees both Intel's and NVidia's GPUs. So, on your system, you don't see Intel(R) HD Graphics 4000 in the display adapters at all? Or is it disabled somehow? Not sure how to replicate it on my end.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Here you go. Like I said, its full operational with DX12 when the monitor is connected to the NVIDIA card. No luck with OpenCL.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Florian,
Could you go to this link https://software.intel.com/en-us/forums/opencl/topic/591196 and download Code Builder. Then in Visual Studio (hope you have it) , go to CODE-BUILDER/Platform Info and send me a screenshot of available Intel OpenCL platforms. Should look like this:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Robert, thanks for pointing out the steps, but this list (and the device query via API) is were I have already been looking.
Please see attached screenshot.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, looks like an Ivy Bridge bug. I'll try to get driver folks to fix this.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Well that would be fantastic news. Any chance you have an estimate timeframe for a fix?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Florian,
If driver folks would identify and fix it today, it could take anywhere from 1 to 2 months until we see it in the production driver. The biggest issue is that this only shows up on 3rd gen processors, while driver folks are busy supporting 5th and 6th gen and actively working on 7th gen driver: in the past I was having a hard time persuading them to fix issues with drivers on older chips.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Oh well. This would make it useless at least in my case. At this point might as well wait for Vulkan. The while I understand pushing the new products, that HD4000 is a very popular product out on the market: http://store.steampowered.com/hwsurvey/directx/ It seems in fact the number one GPU among all Steam customers.
Would you mind asking them if it would be possible to DIY tweak this issue? I.e.: are there any windows registry or hidden driver options that could force Windows to turn on the display adapter?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, in fact my work laptop is HD4000 :)
I'll see what I can do: I will be out training people in OpenCL tomorrow. Hopefully, we will get some response by Thursday.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page