code: def test_reduce_different_name(
      ray_start_single_node_2_gpus, group_name, array_size, dst_rank
  ):
      world_size = 2
      actors, _ = create_collective_workers(
          num_workers=world_size, group_name=group_name
      )
      ray.wait(
          [
              a.set_buffer.remote(
                  cp.ones(array_size, dtype=cp.float32) * (i + 1)
              )
              for i, a in enumerate(actors)
          ]
      )
      src_rank = 1 - dst_rank
      refs = []
      for i, actor in enumerate(actors):
          if i != dst_rank:
              ref = actor.do_send.remote(group_name, dst_rank)
          else:
              ref = actor.do_recv.remote(group_name, src_rank)
          refs.append(ref)
      results = ray.get(refs)
      for i in range(world_size):
          assert (
              results[i]
              == cp.ones(array_size, dtype=cp.float32) * (src_rank + 1)
          ).all()
  
imports: import pytest
  import cupy
  import ray
  from ray.util.collective.tests.util import create_collective_workers
label_desc: Use image node_id 1 for calling a global function with example usage: test_reduce_different_name(ray_start_single_node_2_gpus, group_name, array_size, dst_rank) without return types