code: def test_distributed_send_ue_recv(self):
      # test send_ue_recv
      paddle.distributed.init_parallel_env()
      num_nodes = 5
      edges = [(0, 1), (1, 2), (3, 4), (4, 1), (1, 0)]
      nfeat = np.array(
          [
              [1, 2, 3, 4],
              [2, 3, 4, 5],
              [3, 4, 5, 6],
              [4, 5, 6, 7],
              [5, 6, 7, 8],
          ],
          dtype="float32",
      )
      efeat = np.array([1, 1, 1, 1, 1], dtype="float32")
      ue_recv_ground = np.array(
          [
              [3.0, 4.0, 5.0, 6.0],
              [8.0, 10.0, 12.0, 14.0],
              [3.0, 4.0, 5.0, 6.0],
              [0.0, 0.0, 0.0, 0.0],
              [5.0, 6.0, 7.0, 8.0],
          ],
          dtype="float32",
      )
      g = pgl.Graph(
          edges=edges,
          num_nodes=num_nodes,
          node_feat={"nfeat": nfeat},
          edge_feat={"efeat": efeat},
      )
      g = pgl.DistGPUGraph(g)
      output = g.send_ue_recv(
          g.node_feat["nfeat"], g.edge_feat["efeat"]
      )
      output = output.numpy()
      self.assertTrue((ue_recv_ground == output).all())
  
file_path: PGL/tests/test_dist_graph.py
imports: import os
  import unittest
  import numpy
  import paddle
  import pgl
  import paddle.distributed
  from testsuite import create_random_graph
label_desc: Use image node_id 4 for calling the TestDistGPUGraph obj's underlying member method code with example usage: obj.test_distributed_send_ue_recv() without return types