here is the resulting traceback from a keyboard interrupt (to stop the hanging):
KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-6-504fb99d952c> in <module>()
----> 1 a.cuda()

/home/jkarimi91/Apps/anaconda2/envs/torch/lib/python2.7/site-packages/torch/_utils.pyc in _cuda(self, device, async)
     64         else:
     65             new_type = getattr(torch.cuda, self.__class__.__name__)
---> 66             return new_type(self.size()).copy_(self, async)
     67 
     68 

/home/jkarimi91/Apps/anaconda2/envs/torch/lib/python2.7/site-packages/torch/cuda/__init__.pyc in _lazy_new(cls, *args, **kwargs)
    267     # We need this method only for lazy init, so we can remove it
    268     del _CudaBase.__new__
--> 269     return super(_CudaBase, cls).__new__(cls, *args, **kwargs)
    270 
    271