def worker(data, expect):
     rank = dist.get_rank()
     inp = tensor(data[rank])
     output = reduce_sum(inp)
     if rank == 0:
         assert np.allclose(output.numpy(), expect[rank])
     else:
         assert np.allclose(output.numpy(), 0)
 def worker(rank, data, expect, port):
     if mge.get_device_count("gpu") < world_size:
         return
     dist.init_process_group("localhost", port, world_size, rank, rank)
     inp = tensor(data)
     output = reduce_sum(inp)
     if rank == 0:
         assert np.allclose(output.numpy(), expect)
     else:
         assert np.allclose(output.numpy(), 0)