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.

Unknown crash during runtime

Alpha_H_
Beginner
589 Views
Hi, 
I have encountered a crash problem running for Intel CPU on Windows 7 (x86) platforms with OpenCL CPU only. 
My platforms is below, 
CL_PLATFORM_NAME: Intel(R) OpenCL
CL_DEVICE_NAME:   Intel(R) Core(TM) i7-3610QM CPU @ 2.30GHz
CL_DEVICE_VERSION: OpenCL 1.2 (Build 57)
CL_DRIVER_VERSION: 5.0.0.57

I use only 3 cores for windows 7 system, and 1 core for RTOS system.

Mostly, it works fine when I repeat do the life time test when OpenCL run in CPU.

However, I got the following information in console mode and then crash.

Currently, I just got only one situation like this. Still try to duplicate it.

I don't have idea about it. Can anyone give me a hint of it?

============================================

0x0A091938 (0x10FFA080 0x0E5C56B8 0x0E5C56AC 0xA1F21EAB) <unknown module>
0x57BDACD0 (0x10FFA080 0x0E5C56B8 0x0E5C56AC 0x00000000)
0x5968E3E3 (0x00000000 0x00000098 0x00000000 0x07E272B8), clDevInitDeviceAgent() + 0x3833 bytes(s)
0x5973E908 (0x0D9FED24 0xA1F33BDF 0x0DA03E80 0x0D9FED20), ?GetTaskExecutor@TaskExecutor@OpenCL@Intel@@YAPAVITaskExecutor@123@XZ() + 0x7EB8 bytes(s)
0x59739019 (0x0D9FED20 0x0D9FED24 0x5830A4F0 0xA1F26F16), ?GetTaskExecutor@TaskExecutor@OpenCL@Intel@@YAPAVITaskExecutor@123@XZ() + 0x25C9 bytes(s)
0x5973EF0C (0x0DA07F20 0x0D9FED20 0x0DA23F88 0x00000001), ?GetTaskExecutor@TaskExecutor@OpenCL@Intel@@YAPAVITaskExecutor@123@XZ() + 0x84BC bytes(s)
0x58305439 (0x00000000 0x00000000 0x0DA27F08 0x0DA27F00), ?internal_current_slot@task_arena_base@internal@interface7@tbb@@KAHXZ() + 0xEB9 bytes(s)
0x583036B6 (0x0DA03E80 0x00000000 0x0DA27F00 0x0E5CF748), ?initialize@task_scheduler_init@tbb@@QAEXH@Z() + 0xD16 bytes(s)
0x582FE5E8 (0x00000000 0x00000000 0x00000000 0x00000000), ?thread_sleep_v3@internal@tbb@@YAXABVinterval_t@tick_count@2@@Z() + 0x1338 bytes(s)
0x0A091901 (0x10FFA080 0x0E7CB7D0 0x0E7CB7C4 0xA1D2FF93) <unknown module>
0x57BDACD0 (0x10FFA080 0x0E7CB7D0 0x0E7CB7C4 0x00000000)
0x5968E3E3 (0x00000000 0x00000097 0x00000000 0x07E272B8), clDevInitDeviceAgent() + 0x3833 bytes(s)
0x5973E908 (0x0D9FE824 0xA1D3DAF7 0x0D9FBE80 0x0D9FE820), ?GetTaskExecutor@TaskExecutor@OpenCL@Intel@@YAPAVITaskExecutor@123@XZ() + 0x7EB8 bytes(s)
0x59739019 (0x0D9FE820 0x0D9FE824 0x5830A4F0 0xA1D28EFE), ?GetTaskExecutor@TaskExecutor@OpenCL@Intel@@YAPAVITaskExecutor@123@XZ() + 0x25C9 bytes(s)
0x5973EF0C (0x0D9FEF20 0x0D9FE820 0xA1D28EC2 0x0E7CBB30), ?GetTaskExecutor@TaskExecutor@OpenCL@Intel@@YAPAVITaskExecutor@123@XZ() + 0x84BC bytes(s)
0x58308332 (0x0D9FF520 0x0D9FF51C 0xA1D3D8D7 0x00000000), ?internal_wait@task_arena_base@internal@interface7@tbb@@IBEXXZ() + 0x2382 bytes(s)

============================================

 

 

0 Kudos
5 Replies
Alpha_H_
Beginner
589 Views

Hi,

I found that I call the OpenCL module in 2 different thread. Maybe that's cause the problem?
 

0 Kudos
Robert_I_Intel
Employee
589 Views

Hi,

It would be good to have a reproducer: a small repeatable program that can demonstrate this crash. You should be able to call OpenCL from multiple threads with no issues.

0 Kudos
Robert_I_Intel
Employee
589 Views

Hi,

To help to diagnose, please enable OpenCL API calls logger via CL_CONFIG_USER_LOGGER=I environment variable.

Documentation is here https://software.intel.com/en-us/node/540601

Please provide the resulting log file.

 

Thank you!

0 Kudos
Alpha_H_
Beginner
589 Views

Hi,

I don't have a reproducer and it is hard to trigger this issue after  CL_CONFIG_USER_LOGGER=I, filename is set.

If I can duplicate the issue, I will provide the log file immediately.

 

However, I have a little question, would you please kind teach me ?

If I got platform ID, device ID, context, build program and create Kernel only at the begin of the program.

and then I use the them to run clEnqueueNDRangeKernel at multithread thread with the same command queue and kernel, it is legal or not?

Or I should claim those resource at each thread?

Thanks a lot for your instant reply.

Alpha

0 Kudos
Robert_I_Intel
Employee
589 Views

Hi Alpha,

You should have no issues submitting commands to the same queue from different threads, so yes, what you are doing is very legal.

0 Kudos
Reply