Using All the Shared Memory

Is there a way to make use of all the ‘16384’ bytes of shared memory in the kernel?

Even when the kernel function has no arguments, the compiler still allocates 16 bytes of shared memory, making it impossible to use the exact ‘16384’ bytes.

No. Unfortunately a small amount of shared memory is used to pass arguments (thread id etc.) to the kernel.

Block id, probably :)