do you mean something like this?
torch.cuda.synchronize(device=device) # before starting the timer

begin = time.time()

for i in range(1000000):

  z = x + 1

torch.cuda.synchronize(device=device) # before ending the timer

end = time.time()

total = (end - begin)/1000000; total

1.4210415363311767e-05
begin = time.time()

for i in range(1000000):

  z = y + 1

end = time.time()

total = (end - begin)/1000000; total

5.057124853134155e-06
still GPU takes longer time, so should I carry broadcasting operations on CPU, when using relatively small shape tensors?