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.
1663 Discussions

OpenCL internal exception

Orfey_Mutkov
Beginner
428 Views
This causes me a severe headaches for a couple of weeks. Something is happening now, which causes this internal exception (most likely tbb. I beg you to assist me in finding the problem. It may have something to do with images or printf, although I commented out all printf-s. I use both image3d_t and image2d_t as kernel parameters. My 3-4 .cl files are in total approximately 7500-8000 lines of code - only one kernel is executed, other files are full of utility functions. I need to have Intel OpenCL to keep me working.
NVIDIA's implementation compiles my code in 220 seconds. I cannot use their platform for this project anymore, at least not every day.
Surprisingly, my kernel compiles with NVIDIA's implementation and runs normally and outputs what is expected.

After the exception, the callstack shows (a bit meaningless, but anyway):

09600010()
OclCpuBackEnd.dll!opencl_printf() + 0x248a bytes

I don't have any printf()-s anywhere in the code.

Please help
0 Kudos
8 Replies
Orfey_Mutkov
Beginner
428 Views
Noone with a clue?
Shiri_M_Intel
Employee
428 Views

Hi

Did the kernel worked for you on earlier versions of Intel SDK?

What changes did you do to kernel that it stopped working?

Do you know how much memory does your kernel consume?

Thanks, Shiri

Shiri_M_Intel
Employee
428 Views
Hi,
If you can send the kernel or similar kernel that cause same problem in our SDK, it will help us to trigger the problem
Thanks, Shiri
Orfey_Mutkov
Beginner
428 Views
Well I will see about the kernel, since it is private, but if LLVM code or the result fromclGetProgramInfo(prog, CL_PROGRAM_BINARIES ... ) is suitable, with great certainty we can arrange a "stripped-version" demo program, which you can debug with your toolz. Ofcourse, as a first try, we can send you LLVM code
Orfey_Mutkov
Beginner
428 Views
P.S. to previous post: i cannot directly decide what internal stuff to give to others
Evgeny_F_Intel
Employee
428 Views

The binary version should be fine, but we need also the set ofparemters that you run the kernel.
Like buffer/image sizes, other parameters and global/local sizes provided to clEnqueueNDRange.

Orfey_Mutkov
Beginner
428 Views
I believe we can arrange an application where we create the kernel with clCreateProgramWithBinary(), and then pass the parameters as ready buffers, read separately from a pre-created binary file. Then I assume you will be able to debug the whole execution sequence. I will keep in touch with further progress
ARNON_P_Intel
Employee
428 Views
You can use the Intel OpenCL SDK Offline Compiler to create kernel binaries. See product webpage and user guide for details on how to use this tool.

You can mark your next post as parivate if you don't want general availablity for your post, but be aware that we will post our response publicly.

Reply