Hi to all.
My problem is that
I can not use maximal values of width and height in cl_image2D object, it leads to an error CL_OUT_OF_RESOURCES in function clEnqueueReadImage.
And I can't use different values of width and height, they must be equal, otherwise it leads to error CL_OUT_OF_RESOURSES.
GPU: NVidia Geeforce 210
OS: Windows 7 64bit
Maybe some one knows how to solve that problem.
Can you offer more information?
In my GPU
2D_MAX_WIDTH 4096
2D_MAX_HEIGHT 16383
but if i use this values it leads to error CL_OUT_OF_RESOURCES.
Kernel src
__kernel void ImgCopy( __read_only image2d_t a, __write_only image2d_t c)
{
sampler_t ImgSampler = CLK_NORMALIZED_COORDS_TRUE |
CLK_ADDRESS_NONE |
CLK_FILTER_NEAREST;
int2 coord;
coord.lo = get_global_id(0);
coord.hi = get_global_id(1);
float4 bufa;
bufa = read_imagef(a, ImgSampler, coord);
write_imagef(c,coord,bufa);
//write_imagef(c,coord,read_imagef(a, ImgSampler, coord));
}
with RGBA it is 256MB of memory. what is max memory allocation limit on your card?
with RGBA it is 256MB of memory. what is max memory allocation limit on your card?
Thanks for reply Nou
My GPU Chracteristics
GLOBAL_MEM_SIZE = 1024Mb
MAX_MEM_ALOC_SIZE = 256Mb
2D_MAX_WIDTH = 4096
2D_MAX_HEIGHT = 16383
in host code
image_channel_order:=CL_R;
image_channel_data_type:=CL_FLOAT_TYPE;
(4096*16383*4) /1024/1024 = 256
so In this sense all right(I think).
But I cant use this values, and I can't use more lower values like 64x128, I can use only 64x64 or 128x128 and I dont understand why.