Internal error + compiler segmentation fault
Hi,
While writing 2 little tests/demos, I think I have found 2 bugs in SDK beta4 on Linux Ubuntu 9.04 64bit (CPU Q6600 + GPU HD4870).
The first one is about operator "&&" and int4 data type. It looks like the compiler output something wrong and the JIT compiler starts to complains about some error in the intermediate code. It looks very much like an internal error to me. The problem is reproducible with the sources available here: http://davibu.interfree.it/opencl/mandelgpu/mandelGPU.html
You have only to replace the declaration of variable "notHaveToExit" with "const int4 notHaveToExit = (notEscaped && notMaxIter);"
As side note, for some unknown reason the "&" operator is not bugged but is very very slow on my hardware (i.e. a lot slower than not vectorized code).
I experienced the second problem in another toy I'm writing: http://davibu.interfree.it/opencl/smallptgpu/smallptGPU.html
You can download the modified sources with the problem here: http://davibu.interfree.it/tmp/smallptgpu-v1.2.tgz
You have to uncomment the line "#ifndef GPU_KERNEL" and the following "#endif" to reproduce the problem. Everything works fine with CPU device while the compiler throws a segmentation fault inside clBuildProgram() when I try to run on GPU device.
BTW, thanks for the OpenCL SDK, it has proven to be a very interesting tool up to now, I'm looking forward to next releases.