code: def _sort_hold_cuda_tensors(
      hold_cuda_tensors: tuple, compute_idx: int, compute_list: tuple
  ) -> list:
      next_compute_idx = {
          t: len(compute_list) for t in hold_cuda_tensors
      }
      for i in range(len(compute_list) - 1, compute_idx, -1):
          if compute_list[i] in next_compute_idx:
              next_compute_idx[compute_list[i]] = i
      next_compute_idx = sorted(
          next_compute_idx.items(),
          key=lambda pair: pair[1],
          reverse=True,
      )
      return [t for (t, idx) in next_compute_idx]
  
imports: import functools
  from abc import ABC, abstractmethod
  from time import time
  from typing import List, Optional, Type
  import torch
  from colossalai.legacy.utils.memory import colo_device_memory_capacity
  from colossalai.utils import get_current_device
  from colossalai.zero.gemini.memory_tracer import MemStatsCollector
  from .stateful_tensor import StatefulTensor
  from .tensor_utils import colo_model_data_tensor_move_inline
label_desc: Use image node_id 3 for calling the AutoTensorPlacementPolicy obj's underlying member method code with example usage: obj._sort_hold_cuda_tensors(hold_cuda_tensors, compute_idx, compute_list) and returns: unknown