Could you post an executable code snippet with randomly initialized tensors to reproduce this issue?
The adapted code from the docs seems to work on Linux and Windows for float64:
nnz = 5
dims = [5, 5, 2, 2]
I = torch.cat([torch.randint(0, dims[0], size=(nnz,)),
               torch.randint(0, dims[1], size=(nnz,))], 0).reshape(2, nnz).cuda()
V = torch.randn(nnz, dims[2], dims[3]).cuda()
size = torch.Size(dims)
S = torch.sparse.DoubleTensor(I, V.double(), size)