The point is that if the Variable wrapping is causing the different behavior. For example:
>>> x = torch.LongTensor([1]*300)
>>> y = torch.LongTensor([1]*300)
>>> x = x.cuda()
>>> y = y.cuda()
>>> torch.sum(x == y)
300

I am not entirely sure if they should have the same behavior with and without the Variable wrapper, but I am just trying to put it out there.