Image2D OpenCL & Snow Leopard

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:

  1. After a clEnqueueReadBuffer -> CL_INVALID_COMMAND_QUEUE

  2. 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().

No I will try it.

Thanks a lot.

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 :smiley:

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