class_docstr: Handles partitioning and gathering of parameters.
docstr: swap in parameter partitions from nvme for those parameters that will be used
  after the ones that are already being prefetched into full parameters
docstr_tok: ["swap","in","parameter","partitions","from","nvme","for","those","parameters","that","will","be","used","after","the","ones","that","are","already","being","prefetched","into","full","parameters"]
code: def __prefetch_nvme_param_partitions(self) -> None:
      """swap in parameter partitions from nvme for those parameters that will be used
      after the ones that are already being prefetched into full parameters
      """
      if not self.is_complete_trace():
          return
  
      numel_in_flight = sum(
          param.ds_numel for param in self.__inflight_param_registry
      )
  
      numel_considered = 0
      swap_in_params = []
      for param_in_trace in self.__param_queue:
          param = param_in_trace.param
          if param.nvme_swapper is None:
              continue
          if (
              numel_considered > 2 * numel_in_flight
              or len(swap_in_params)
              >= param.nvme_swapper.available_swap_in_buffers()
          ):
              break
          if (
              param.ds_tensor.status
              == PartitionedParamStatus.NOT_AVAILABLE
          ):
              swap_in_params.append(param)
          numel_considered += param.ds_numel
  
      if swap_in_params:
          swap_in_params[0].nvme_swapper.swap_in(
              swap_in_params, async_op=True
          )
  
imports: from dataclasses import dataclass
  import collections
  from collections import UserDict
  from typing import Deque, Set
  from torch.cuda import Event, Stream
  from deepspeed import comm
  from deepspeed.utils.logging import logger
  from deepspeed.runtime.zero.offload_config import OffloadDeviceEnum
  from deepspeed.runtime.zero.partition_parameters import *
  from deepspeed.runtime.swap_tensor.partitioned_param_swapper import PartitionedParamStatus
  from deepspeed.utils.debug import debug_module2name_id, debug_param2name_id
label_desc: Use image node_id 20 for calling the PartitionedParameterCoordinator obj's underlying member method code with example usage: obj.__prefetch_nvme_param_partitions() without return types