CUDA code is asynchronous, so I don’t think your timings are completely correct.
Try to time using torch.cuda.Event 12, like the following:
start = torch.cuda.Event(enable_timing=True)
end = torch.cuda.Event(enable_timing=True)

start.record()
y1.cpu()
end.record()
torch.cuda.synchronize()

elapsed = start.elapsed_time(end)