It works for me on a master build. So I think that this has been fixed!
>>> import torch
>>>
>>> print('PyTorch version: {}'.format(torch.__version__))
PyTorch version: 0.5.0a0+7b905e4
>>> print('---below is an incorrect case---')
---below is an incorrect case---
>>> aa = torch.rand((2,1,1))
>>> aa_LU,_ = aa.btrifact()
>>> bb = aa.cuda()

>>> bb_LU,_ = bb.btrifact()
>>> print(aa_LU.size())
torch.Size([2, 1, 1])
>>> print(bb_LU.size())
torch.Size([2, 1, 1])