Maximum image2d size Quadro FX 5800 and Tesla C1060 seem not to support large image_2d

Hello everybody;

I have been developing OpenCL code for a while and I recently acquired a Quadro FX 5800 and Tesla C1060 GPUs which I intend to use to perform some computations at work.

I can run all code that involves small images and buffer objects without ant problems.

However, I’m not able to run OpenCL/GL interop or create image2ds of width 8192 which apparently should be supported. Both examples work with a Radeon 5770 card.

My system specs are Windows XP 64bit SP2, CUDA 3.2 RC, Quadro FX 5800 and Tesla C1060 GPUs. I’m trying to create image2d of floats using format RGBA with 8192 columns. Everything works fine for small RGBA images of bytes (uchars).

Is CL/GL interop supported on Quadro 5800? Is there any image2d size limitation on 5800/C1060?

Thanks

Hello everybody;

I have been developing OpenCL code for a while and I recently acquired a Quadro FX 5800 and Tesla C1060 GPUs which I intend to use to perform some computations at work.

I can run all code that involves small images and buffer objects without ant problems.

However, I’m not able to run OpenCL/GL interop or create image2ds of width 8192 which apparently should be supported. Both examples work with a Radeon 5770 card.

My system specs are Windows XP 64bit SP2, CUDA 3.2 RC, Quadro FX 5800 and Tesla C1060 GPUs. I’m trying to create image2d of floats using format RGBA with 8192 columns. Everything works fine for small RGBA images of bytes (uchars).

Is CL/GL interop supported on Quadro 5800? Is there any image2d size limitation on 5800/C1060?

Thanks

Hello,
you can std::cout CL_DEVICE_IMAGE2D_MAX_WIDTH or CL_DEVICE_IMAGE2D_MAX_HEIGHT.
On my Gtx480 it is 4113 and 4114

Eric

Hello,
you can std::cout CL_DEVICE_IMAGE2D_MAX_WIDTH or CL_DEVICE_IMAGE2D_MAX_HEIGHT.
On my Gtx480 it is 4113 and 4114

Eric

What you are doing is displaying the value of the CL_DEVICE_IMAGE2D_MAX_WIDTH (or _HEIGHT) constant as passed to the clGetDeviceInfo function; this is not the maximum width (or height) supported by OpenCL; that information is obtained by calling clGetDeviceInfo.

To address the original poster’s question, our GTX460/480 and Tesla C2050 cards report a maximum image2d width of 4096 and height of 32768 (Linux 64 bit, driver 260.19.12). According to the OpenCL specification, minimum supported image2d width should be 8192, so it seems the new Fermi architecture is not actually fully OpenCL compliant, at least not with the current drivers. Unless you are using the interpolation features of read_imagef, you are probably better off storing your data as a memory buffer, not an image2d.

What you are doing is displaying the value of the CL_DEVICE_IMAGE2D_MAX_WIDTH (or _HEIGHT) constant as passed to the clGetDeviceInfo function; this is not the maximum width (or height) supported by OpenCL; that information is obtained by calling clGetDeviceInfo.

To address the original poster’s question, our GTX460/480 and Tesla C2050 cards report a maximum image2d width of 4096 and height of 32768 (Linux 64 bit, driver 260.19.12). According to the OpenCL specification, minimum supported image2d width should be 8192, so it seems the new Fermi architecture is not actually fully OpenCL compliant, at least not with the current drivers. Unless you are using the interpolation features of read_imagef, you are probably better off storing your data as a memory buffer, not an image2d.