I would suggest to create k_a using torch.arange(10).float() instead of the Python range.
Loops are generally slower than vectorized code, so you could unsqueeze k_a in dim1 and dim2 and just add it in a single call:
device = 'cuda'
t = torch.ones(10, 10000, 1000, deive=device)
k_a = torch.arange(10, device=device).float()
ret = t + k_a.view(-1, 1, 1)

If you set device='cuda', this operation will automatically be executed on the GPU.