Hello,
I have a problem with an OpenCL code that runs correctly on Windows XP and 7 on different graphic cards (GF 8400GS, GF 9500GT, GTX285, GTX 470, Quadro 4000).
But with Snow Leopard on a mac mini (9400m) the code doesn’t work and we get the following errors:
-
After a clEnqueueReadBuffer -> CL_INVALID_COMMAND_QUEUE
-
When we try to use clCreateImage2D with the following image format configuration
cl_image_format image_format;
image_format.image_channel_order = CL_INTESITY;
image_format.image_channel_data_type = CL_FLOAT;
we get the error : CL_IMAGE_FORMAT_NOT_SUPPORTED.
Is there a problem with OsX SL and OpenCL?
I try to install the latest cuda 4 driver and it changes nothing;
Thanks for your help.
Have you checked whether that image format is supported on your mac mini? You can query that with clGetSupportedImageFormats().
OpenCL implementation in osX snow loepard seems to not support our image format.
Unfortunately no format supported can answer to our problem.
That’s a bad news
Any idea for the first problem? Is a bad kernel execution can corrupt the command queue and return CL_INVALID_COMMAND_QUEUE when we use it after?
Thanks a lot.
Are you sure that this won’t work for you?
cl_image_format image_format;
image_format.image_channel_order = CL_R;
image_format.image_channel_data_type = CL_FLOAT;
It’s almost the same as CL_INTENSITY and likely supported everywhere.
Is a bad kernel execution can corrupt the command queue and return CL_INVALID_COMMAND_QUEUE when we use it after?
Yes, that’s exactly what happens. You would need to at least destroy the queue and create a new one.
On our mac osX 10.6.8 with GeForce 9400m, there is only CL_RGBA and CL_BGRA that supports CL_FLOAT.
We will try later with 10.7.x.
Thanks.
Any idea for the first problem? Is a bad kernel execution can corrupt the command queue and return CL_INVALID_COMMAND_QUEUE when we use it after? http://methoo.com