old_contents: import unittest
  
  import torch
  import torch.nn as tnn
  import torch.autograd as autograd
  
  from common import gpu_test
  
  
  class TestPyTorch(unittest.TestCase):
      # PyTorch smoke test based on http://pytorch.org/tutorials/beginner/nlp/deep_learning_tutorial.html
      def test_nn(self):
          torch.manual_seed(31337)
          linear_torch = tnn.Linear(5,3)
          data_torch = autograd.Variable(torch.randn(2, 5))
          linear_torch(data_torch)
  
      @gpu_test
      def test_gpu(self):
          cuda = torch.device('cuda')  
          a = torch.tensor([1., 2.], device=cuda)
  
          result = a.sum()
  
          self.assertEqual(torch.tensor([3.], device=cuda), result)
  
new_contents: import unittest
  
  import torch
  import torch.nn as tnn
  import torch.autograd as autograd
  
  from common import gpu_test
  
  
  class TestPyTorch(unittest.TestCase):
      # PyTorch smoke test based on http://pytorch.org/tutorials/beginner/nlp/deep_learning_tutorial.html
      def test_nn(self):
          torch.manual_seed(31337)
          linear_torch = tnn.Linear(5,3)
          data_torch = autograd.Variable(torch.randn(2, 5))
          linear_torch(data_torch)
  
      @gpu_test
      def test_gpu_computation(self):
          cuda = torch.device('cuda')  
          a = torch.tensor([1., 2.], device=cuda)
  
          result = a.sum()
  
          self.assertEqual(torch.tensor([3.], device=cuda), result)
  
      @gpu_test
      def test_cuda_nn(self):
          # These throw if cuda is misconfigured
          tnn.GRUCell(10,10).cuda()
          tnn.RNNCell(10,10).cuda()
          tnn.LSTMCell(10,10).cuda()
          tnn.GRU(10,10).cuda()
          tnn.LSTM(10,10).cuda()
          tnn.RNN(10,10).cuda()
  
subject: improve pytorch gpu tests