You will need to bring this up with khronos, good idea, but something that should be fundamentally part of the language and not a vendor extension.
I suppose it's the same request you did in the AMD APP SDK suggest feature thread. As Micah says, this is something which does not depend of the vendor, this really is something related to OpenCL itself. However, I really would like to see AMD propose this to Khronos, not you or me, because AMD is an active member of Khronos, so AMD's voice would count much more than that of an isolated OpenCL API user.
But I tend to believe that features that are successfully implemented in CUDA will come someday to OpenCL, like the use of dynamic memory allocation in kernel and other stuff. Roughly speaking, almost every functionality that CUDA has would be welcome in OpenCL. There's an old thread about suggestions to OpenCL 2: http://forums.amd.com/devforum/messageview.cfm?catid=390&threadid=139081&highlight_key=y&keyword1=suggestion I don't know if one should revive it, but your request would feet there.
And me too, I would like to know which features are in discussion for OpenCL 2. Is this a public information, or you must be a member of the consortium to have access to it?
I agree with you, it is a request for the Khronos Group... but I think that it is better if AMD propose this feature (I'm nobody !).
It is why I ask directly to AMD to forward the request.
You know, every kernel parameter can be useful at any level of the kernel, any function, so passing it as a parameter is a waste of performance and memory.
Originally posted by: viewon01You know, every kernel parameter can be useful at any level of the kernel, any function, so passing it as a parameter is a waste of performance and memory.
Parameter passing isn't always a burden, the compiler can optimize a lot of that away.
There are real reasons why OpenCL works the way it does. For example, some hardware may need to know how to describe the buffer at kernel execution time. If you just pass in pointers, then these values may not be correctly associated with the device.
Think about texture resources or images. There is a lot of data required to describe that resource and how to properly access it.