Hi,
I just wanted to clarify below points related to memory sections in openCL. Please let me know if i am correct or not.
- The variables defined inside the kernel are stored in Private memory. Any variable defined other than __local,
- if i declare constant variable inside kernel, then it will be stored in private memory
- Constant variables are stored in the global memory region
- what is the necessity of sending a local variable as kernel parameter as it can be done inside kernel also
Thank you very much for your reply. I wanted one more clarification regarding local memory usage.
- Inside the kernel, we have to load the local memory from global memory for each work item and cannot copy in a single shot(like memcpy for all the work items)
- I used local memory but couldn’t see any improvement in performance. In my case i will reading all the pixels only once. Is it due to this ? as it will be helpfull only from the second round of access when it will be moved to cache during our first access ?