Put the __shared__ memory allocator instance in an anonymous namespace so that non-CUDA compilers don't complain about multiple definitions.
Add a note about why the __shared__ memory allocator is in an anon namespace.