title: shared memory bank conflict with char array
body: <p>I understand the bank conflict when dealing with 4-byte datatypes, but i wonder
  if we get any bank conflict (4-way/8-way?) with the following code</p>
  
  <pre><code>__shared__ char shared[];
  foo = shared[threadIdx.x];
  </code></pre>
  
  <p>The above code leads to 4 consecutive threads in a warp accessing the same word address in the same bank. </p>
  
  <p>Will a similar memory access pattern lead to a bank conflict for any cuda device family? Apparently, it does for old cards only but i want to confirm.</p>
  
  <p>My question can be generalised further, what if a number of threads access the same bank addressable unit [8-byte or 4-byte] but each requires a fraction of it. will the hardware handle such requests without any bank conflict? Thank you</p>