code: def check_small_pipeline():
      disable_existing_loggers()
      # make sure the rank is 4
      assert (
          gpc.world_size == 4
      ), "make sure to set world size to 4 to start the training process"
      local_rank = gpc.get_local_rank(ParallelMode.PIPELINE)
      if local_rank == 0:
          obj = [1, torch.randn(2, 2).cuda(), None]
          send_forward(obj)
      elif local_rank == 1:
          obj = recv_forward()
          send_forward(obj)
      elif local_rank == 2:
          obj = recv_forward()
          send_forward(obj)
      elif local_rank == 3:
          obj = recv_forward()
      else:
          pass
  
file_path: colossalai/tests/test_legacy/test_comm/test_object_list_p2p_v2.py
imports: import pytest
  import torch
  from colossalai.legacy.communication.p2p_v2 import recv_backward, recv_forward, send_backward, send_forward
  from colossalai.legacy.context import ParallelMode
  from colossalai.legacy.core import global_context
  from colossalai.legacy.initialize import launch
  from colossalai.logging import disable_existing_loggers
  from colossalai.testing import rerun_if_address_is_in_use, spawn
label_desc: Use image node_id 3 for calling a global function with example usage: check_small_pipeline() without return types