I'm a bit confused about the shared memory in OpenCL.
It has 16 KBytes and shares data between kernels in the same work group.
So, are there several shared memories(for each work group) and every work group has 16 KBytes or is shared memory splitted?
Furthermore I don't understand how it exists on the hardware: The number of work groups is variable, so how could that be managed?
I think I didn't understand the main concept of this memory, but I hope someone someone can explain, what I am not understanding