How to use volatile with 2D shared memory?
===

I was wondering **how** to declare a volatile pointer to two dimensional shared memory
and if this would have **the same effect** as for one dimensional arrays.

    __shared__ float 2d_array[32][32];
    // not working: volatile T ** smem = sdata; 