In CUDA, when you declare a gpu-buffer it is accessible to all the methods of your kernel, not only the ‘kernel’ (All other parameters too).
In OpenCL, there is a problem because if you have a lot of buffers, you have to pass all the buffers pointers to every method !
The best way I have found is to create a typedef that will contains all theses pointers, if I don’t want that all the methods have 40 parameters ! But it require time to initialize, to pass and some memory too. Also it will be easier if we will be able to access all theses buffers/parameters globally !
BTW, does someone know if OpenCL 2 (or a new specification) is in preparation ? Because we really miss a lot of features Even if today it is more important to have stable OpenCL drivers !