I’m a newbie in OpenCL so i read the spec and play around with the OpenCL-calls…
I’ve read in the OpenCL 1.1 spec that the minimum value of [font=“Courier New”]CL_DEVICE_LOCAL_MEM_SIZE[/font] should be 32KB but if I print this value for my GTX260 then I only get 16384 Bytes. Why is it smaller than 32KB? Where are my remaining 16KB? I want them back!!!
The next thing is that if I try for example to allocate more than 16KB of local memory
[font=“Courier New”]clSetKernelArg(ckTest, 3, 20*1024, NULL);[/font]
then a [font=“Courier New”]CL_SUCCESS[/font] is returned but is that right?
I thought that it shouldn’t be able to allocate more than 16KB in my case.
Also the behaviour of my application is very strange if I allocate almost 16kB or more of local memory.
Have I misunderstood anything?
Thanks for your help!
This is my system:
OS: OpenSUSE 11.0
CL_DEVICE_NAME: GeForce GTX 260
CL_DEVICE_GLOBAL_MEM_SIZE: 895 MB
CL_DEVICE_MAX_MEM_ALLOC_SIZE: 223 MB
CL_DEVICE_LOCAL_MEM_SIZE: 16384 Bytes