title: torch: what are the differences between using net:cuda() and using cudnn.somemodules?
body: <p>I'm wondering what the differences are between:</p>
  <ol>
  <li>using <code>net:cuda()</code> after making a neural net:</li>
  </ol>
  <pre><code>local net = nn.Sequential()
  net:add(nn.SpatialConvolution(3, 8, 5, 5))
  net:add(nn.View(8*20*20))
  net:add(nn.Linear(8*20*20, 10))
  net:add(nn.LogSoftMax())
  net:cuda()
  </code></pre>
  <ol start="2">
  <li>using <code>cudnn.somemodules</code> on the way completing a neural net:</li>
  </ol>
  <pre><code>local net = nn.Sequential()
  net:add(cudnn.SpatialConvolution(3, 8, 5, 5))
  net:add(cudnn.View(8*20*20))
  net:add(cudnn.Linear(8*20*20, 10))
  net:add(cudnn.LogSoftMax())
  </code></pre>