Can any one can explain the structure of shared memory? especially about how the different type data is stored in it. when I read some code, I am always confused by some bit operation with shared memory, and the sample of Histogram64 is a good case. when I read it, I can not understand why the bit-shift operation should be done like that. In the programming guide it says that: In the case of the shared memory space, the banks are organized such that successive 32-bit words are assigned to successive banks and each bank has a bandwidth of 32 bits per two clock cycles.
the shared memory is 16K, but every bank just stores 32 bit, the total size is just (32/8)*16 byte. so how in every bank the memory is organized?