Is Nvidia Optimus (GTX675M + Intel HD4000) working with OpenCL while leaving the prefered driver on

Is Nvidia Optimus (GTX675M + Intel HD4000) working with OpenCL while leaving the prefered driver on “automatic driver choosing” (default)?

Hello there!

I do have an application which is using OpenCL to analyse a rendered OpenGL image … it runs fine, when I set the graphics driver to use only my nvidia graphics card in the system-settings-menu. But when I set it back to the default (“automatic driver choosing”) and then right click on my application and choose “run with graphic processor”/“nvidia gtx 675M” its crashing … and after debugging this thing … its telling me:

Unbehandelte Ausnahme bei 0x76f715de in CA_d.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0xbaadf019.

(“access violation”) inside “clBuildProgram” inside “nvopencl.dll!0cdd67f2()”. I verified that the application is really using the nvidia card for OpenGL and OpenCL. I am using windows 7 x64 and the lastest nvidia graphics driver 320.18 WHQL.

  1. Is this a known issue with Nvidia Optimus ? (I googled, but couldn’t find something beside “set it to always use the nvidia card in the systems-settings”)

  2. Is there / will there be a better solution ? (to save energy for all other apps on my laptop)

  3. Do I need some other driver or technique for using OpenCL and Optimus?

  4. Has someone experienced something similar?

Thanks in advance … any comments/questions are welcome …


Hello again,

I finally solved this thing in my application: I had to simplify my OpenCL Kernel source code to make it not crash in clBuildProgram. I tried commenting some parts out … and suddenly it compiled again. It took some time … but I think it was the 5-times nested for-loop, which has now been removed. I did loose some performance though (compared to my old GT 8600 M), but it’s working again! Also, I changed my graphics driver back to 306.97 WHQL. … and Optimus is now working as expected …