title: How to read cuda binary code
body: <p>Cuda generates 'cubin': cuda binary. This can be converted to assembly by running cuobjdump or nvdisasm (see also <a href="http://docs.nvidia.com/cuda/cuda-binary-utilities/index.html" rel="nofollow">http://docs.nvidia.com/cuda/cuda-binary-utilities/index.html</a>). </p>
  
  <p>Now I have this wonderful assembly code and I have no proper way of reading it. Are there tools that </p>
  
  <ol>
  <li>place the assembly next to the source</li>
  <li>that explain the operations (like 'DMUL R4, R8, R2;' which is obviously a multiplication, but also something I don't know, like
  'IMAD.HI.X')</li>
  <li>keep track of register count (I'm using cuda toolkit 5.5, I know that the tools spit out some counter as of version 6.5 or something)?</li>
  </ol>
  
  <p>And is there something like a tutorial? It seems like almost nobody is reading cubins as googling results in hardly any results.</p>