title: Behavior of reintepret_cast of CUDA pointers?
body: <p>Considering the following <strong>host</strong> function:</p>
  
  <pre><code>uint64_t * SomeDevPtr =...
  /* Where SomeDevPtr is a pointer pointed to some device memory address allocated by cudaMalloc(); */
  
  uint32_t * SomeDevIntPtr = reintepret_cast&lt;uint32_t *&gt;(SomeDevPtr);
  </code></pre>
  
  <p>Because of the function, <code>cudaMalloc</code> will automatcially fullfill some aligment requirements (I think it is aligned to some 128 byte memory boundary), therefore I think both <code>SomeDevIntPtr</code> and <code>SomeDevPtr</code> should be start at exact the same physical memory address at GPU's global memory, am I correct on this?</p>
  
  <p>I just want to make sure about that since some of the functions I wrote depend on it.</p>