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

INTEL_OPENCL_BUILD_RULES : error : internal error

allanmac1
Beginner
292 Views

Any tips on what to do when ioc32 and ioc64 die with an "internal error"?

This is what both the command line and VS2013 return when using the latest Intel OpenCL API release (6.1.0.1600):

ioc32 -cmd=build -input=abc.cl -device=gpu -bo="-cl-std=CL2.0 -cl-fast-relaxed-math -cl-no-signed-zeros -cl-mad-enable -cl-denorms-are-zero"
Using build options: -cl-std=CL2.0 -cl-fast-relaxed-math -cl-no-signed-zeros -cl-mad-enable -cl-denorms-are-zero
OpenCL Intel(R) Graphics device was found!
Device name: Intel(R) Iris(TM) Pro Graphics 6200
Device version: OpenCL 2.0
Device vendor: Intel(R) Corporation
Device profile: FULL_PROFILE
fcl build 1 succeeded.
fcl build 2 succeeded.
Error: internal error.

Build failed!

 

0 Kudos
3 Replies
allanmac1
Beginner
292 Views

After some debugging... it's even more confounding.  

The .cl file contains 32 kernels and ioc32 merrily builds the first 6 with the rest commented out.  

IOC also builds all kernels individually with the remaining commented out.

Finally, splitting the original .cl file into 32 individual files also results in all .cl programs successfully building.

Is there some sort of size limitation in IOC?  The attached PNG shows the compiled kernel sizes.

It's bugs like this that just kill productivity.

kernels_split.png

allanmac1
Beginner
292 Views

And.... I found it.  

I had a pointer hiding in a struct and after hoisting it to the kernel functions argument list the 32 kernel CL program compiles just fine.

Apparently that mistake breaks the compiler.

My bad!

Jeffrey_M_Intel1
Employee
291 Views

Thanks for this report.  I'm starting to reproduce here in the hope of improving this behavior in a future release.

Reply