CL context destruction crash on CPU device (2013 beta)

CL context destruction crash on CPU device (2013 beta)

I am experiencing a strange "R6025 - pure virtual function call" crash at application termination when combining Direct3D 10 and OpenCL in the same DLL. The crash occurs even if no Direct3D calls are ever made (linking to d3d10.lib is enough). A minimal VS2010 solution with two projects to reproduce is attached. The project has no dependencies besides OpenCL and DirectX SDKs, and should built & run out of the box.

My setup:
* Windows 7 64bit SP1 (fully patched)
* Intel Core i7-3630QM CPU (Ivy Bridge)
* Intel OpenCL CPU driver (beta 2013 runtime)

Thanks in advance,
Fredrik Orderud
GE Vingmed Ultrasound (GE Healthcare)

AttachmentSize
Download intel-context-crash.7z4.35 KB
11 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Thanks for the code. I'll take a look and get back to you soon.

Raghu

Hi Fredrik,

I have reproduced and currently debugging your issue. I'll keep you posted on my findings.

Raghu

The crash occurs both on Intel CPU device (Ivy-Bridge) and GPU device (HD 4000). Neither Nvidia GPUs, AMD GPUs nor CPUs with AMD OpenCL drivers suffer from this crash.

Do you have a rough estimate for when updated GPU & CPU drivers with this crash fixed will be released?

Thanks in advance,
Fredrik

Sorry it took a while. It appears to be a bug in our common runtime. I have submitted a bug. I will let you know when a fix is available.

Thanks,

Raghu

Thank you for the update Raghu.

Raghu,

It is now close to 6 months since I reported this issue. Still, we are struggling with this crash in our product SW, even after installing the latest SDK & drivers.

Could you please give a rough estimate for when updated GPU & CPU drivers with this crash fixed will be released?

Thanks in advance,
Fredrik Orderud (GE Healthcare)

Hi Fredrik,

Let me get back to you by the end of the day. Sorry for the delay.

Thanks,
Raghu

 

I escalated the issue and will provide feedback when I get updates.

Thanks,
Raghu

Hi Raghu

We experience the same bug when using the RealsSense SDK (probably also using your common runtime).
Do you have an update on this issue?

Thanks
Stephan

Stephan,

The problem is with the following line of code in your opencl.cpp:

if (cl_vendor_id == 0x8086) // only intel devices

    devices.push_back(tmp_dev[i]);

With our current driver the platform names would be:

Intel(R) OpenCL

Experimental OpenCL 2.0 CPU Only Platform 

You will put devices from both platforms into the same context, which will fail. Select only devices from the first platform by directly matching the name, and your context creation will succeed.

 

Leave a Comment

Please sign in to add a comment. Not a member? Join today