title: On Double Precision Units (DPUs) on Kepler K20Xm
body: <p>According to the <a href="http://www.nvidia.com/content/PDF/kepler/NVIDIA-Kepler-GK110-Architecture-Whitepaper.pdf" rel="nofollow">Kepler architecture whitepaper</a>, a SMX has <code>192</code> CUDA cores and <code>64</code> Double Precision Units (DPUs). For a K20Xm there are <code>14</code> SMXs totalling at <code>2688</code> cores, which means that only the CUDA cores are counted. What exactly is then the usage of the DPUs for and how is their usage related to the cores?</p>
  
  <p>My thoughts:</p>
  
  <p>a) The CUDA cores can't do double precision operations and only the DPUs can. Therefore, the CUDA cores are free for other stuff while the DPUs are busy.</p>
  
  <p>b) The CUDA cores somehow need a double precision unit to do double precision operations, therefore only <code>128</code> of the <code>192</code> CUDA cores are available for other stuff.</p>
  
  <p>Cheers
  Andi</p>