OpenCL* for CPU
Ask questions and share information on Intel® SDK for OpenCL™ Applications and OpenCL™ implementations for Intel® CPU.
Announcements
This forum covers OpenCL* for CPU only. OpenCL* for GPU questions can be asked in the GPU Compute Software forum. Intel® FPGA SDK for OpenCL™ questions can be ask in the FPGA Intel® High Level Design forum.
1721 Discussions

Can't use intel GPU with OpenCL while AMD HD8790M is installed

Klamer_S_
Beginner
2,160 Views

In my DELL E6540 laptop I have a Intel HD4600 and an AMD HD8790M GPU.

Before installing the AMD graphics driver I could use OpenCL with the Intel GPU (but obviously not the AMD GPU) as well as the Intel CPU device.

After installing the AMD graphics driver I can use OpenCL on the Intel CPU device; the AMD GPU device, and the AMD CPU device.

 

How can I have access to both the Intel GPU and the AMD GPU OpenCL devices?

 

OS is WIndows 7.1 64 bit.

Intel graphics driver is 10.18.10.3496

AMD graphics driver is 13.350.1005.0 (using Catalyst 14.2 Beta1.3

0 Kudos
13 Replies
LLess
Beginner
2,160 Views

Hi,

You have to make sure that the Intel GPU is the primary display and that a display is connected to it.

Never tried on a laptop with dual graphics here so you might actually need to disable the AMD GPU.

Another possibility is to force your code to load the Intel Opencl DLL first explicitely (LoadLibrary in C ) before doing any OpenCL calls.

That fixed some issues for me.

I had tons of problems with the HD4000 and my NVidia cards when trying to use both though so good luck with that ;)

Laurent

0 Kudos
Klamer_S_
Beginner
2,160 Views

Hi Laurent,

 

Dis-ableing the HD8790m in the device manager, and then re-installing the intel driver WITHOUT a reset indeed provided Intel GPU OpenCL. However, after a reboot the AMD GPU is automagically re-enabled and Intel OpenCL lost again...

 

With a laptop I cannot physically connect my screen to the Intel HD graphics -- switching seems software based.

Any suggestion to get such a setup working through reboots?

 

Thanks,

Klamer

0 Kudos
LLess
Beginner
2,160 Views

I would have expected it to work without having to re-install the Intel Driver.

If the switch is software based, is there no UI to force the mode for a given application?

I am not familiar with the AMD driver so I won't be able to help a lot I am afraid.

And from what I saw on the web there doesn't seem to be an option in the BIOS to deactivate the AMD board either.

Laurent

0 Kudos
LLess
Beginner
2,160 Views

Have a look at that:

http://h10025.www1.hp.com/ewfrf/wc/document?docname=c03048374&lc=en&cc=us&dlc=en#N58

You might be able to set your app to run in Power Saving mode and that might actually give you the Intel GPU :)

0 Kudos
Klamer_S_
Beginner
2,160 Views

You can switch in the UI (as well as through the power profile) the graphics driver. This does switch for OpenGL and CG programs, but seems not to switch OpenCL behavior. I guess the problem is that this switch is not known at boot time, so the system thinks that AMD graphics is available and at that time Intel GPU OpenCL is disabled.

Which intel opencl DLL shall I load? The system is seems capable to intelopencl64.dll, however, that seems to link only to the Intel CPU OpenCL device. Any specific dll to load to get Intel GPU OpenCL to work?

0 Kudos
LLess
Beginner
2,160 Views

Does it really matter if the switch is for OpenGL?

I guess you could always create a Windows doing some kind of OpenGL drawing and hide it :) It is nasty but it might work.

I can't exactly remember which one I loaded in my code. Do you have one named Intel_OpenCL_ICD64?

I will check tomorrow once I am back in the office.

0 Kudos
LLess
Beginner
2,160 Views

Have you tried to put the graphic is Fixed Mode via the AMD Control Panel? You should be able to force the HD4600 from there.

0 Kudos
Klamer_S_
Beginner
2,160 Views

Fixed mode is no available option to specify with this card / driver.

0 Kudos
LLess
Beginner
2,160 Views

You might want to try AMD forum.

Who knows there might be a way to do it via the registry or something like that.

 

0 Kudos
Klamer_S_
Beginner
2,160 Views

Sister thread at AMD forum http://devgurus.amd.com/thread/168497

0 Kudos
Jonny_H_
Beginner
2,160 Views

still unresolved?

 

 

0 Kudos
Robert_I_Intel
Employee
2,160 Views

Also, highly recommend using Windows 8.1 for this to work well. When on Win 8.1, disable AMD card, so that Intel graphics is picked up, then reenable AMD card, so that it shows up second in the list.

0 Kudos
allanmac1
Beginner
2,160 Views

I don't know if it will work on your system, but I've found that if you press the "Windows+P" combo and select "Extend" then a headless HD4600 IGP will be recognized in the Kernel Builder for OpenCL application (and presumably other OpenCL applications).  You'll probably see an extra cursor in the upper left of your screen in this mode.

If you leave the Kernel Builder app running and select "Windows+P - `Computer Only`" you can still test your OpenCL kernels.

This all works well for me.

My workstation config is Win7/x64 + Core i7-4790 + headless HD4600 + latest .4080 HD Graphics driver + various discrete GPUs.

 

0 Kudos
Reply