title: Are there advantages to using the CUDA vector types?
body: <p>CUDA provides built-in vector data types like <code>uint2</code>, <code>uint4</code> and so on. Are there any advantages to using these data types?</p>
  
  <p>Let's assume that I have a tuple which consists of two values, A and B. One way to store them in memory is to allocate two arrays. The first array stores all the A values and the second array stores all the B values at indexes that correspond to the A values. Another way is to allocate one array of type <code>uint2</code>. Which one should I use? Which way is recommended? Does members of <code>uint3</code> i.e <code>x</code>, <code>y</code>, <code>z</code> reside side by side in memory?</p>