code: def _get_step_order(self) -> List[int]:
      # TODO : If you want to extend it to multi head chimera, overwrite here
      stage_num = self.actual_stage_num
      pp_rank = self.pp_rank
      # pp_rank in the same device
      local_device_pp_ranks = [pp_rank, stage_num * 2 - pp_rank - 1]
      local_device_pp_ranks.sort(
          reverse=min(local_device_pp_ranks) < stage_num // 2
      )
      return local_device_pp_ranks
  
imports: import threading
  from typing import Callable, Dict, List
  import torch
  from torch._C._distributed_rpc import PyRRef
  from torch.futures import Future
  from colossalai.legacy.pipeline.pipeline_process_group import ppg
  from colossalai.legacy.pipeline.rpc._pipeline_base import Phase, PipelineEngineBase, UniqueKey, WorkerBase, WorkItem
label_desc: Use image node_id 8 for calling the ChimeraWorker obj's underlying member method code with example usage: obj._get_step_order() and returns: local_device_pp_ranks