Most of the times, device asserts are triggered when something is up with your indexing. @Naruto-Sasuke -san’s hint about launch blocking is gold to see where exactly.
But I didn’t quite understand why if casting the mask to float before interpolation(interpolate(mask.to(torch.float), ...).to(torch.bool) should work on GPU and CPU) would work for you.
If you have an integral scaling factor, you could also use reshape+expand to scale up or indexing with step>1 to scale down.
Best regards
Thomas