Why can kernel take __local pointer arguments?
As far as I know, the only meaningful value that the host could set for this argument is NULL. Sure, other OpenCL functions could call the kernel and pass a __local pointer that means something, but I can't imagine a scenario where that makes sense. The kernel would likely be functioning in two different ways -- thus make it two functions.
I just want to make sure I'm not missing something big regarding options to allocate __local memory. (i.e. not possible to do dynamically based on workgroup size right?)
I'm speculating this was just an easier standard to specify since all other functions can take __local pointers.