class_docstr: A manager class to manipulate the tensors in chunks.
  
  Args:
      chunk_configuration (Dict[int, Dict]): the configuration dictionary of this chunk manager.
      init_device (torch.device): optional, the device on which the chunk is initialized. The default is None.
class_docstr_tok: ["A","manager","class","to","manipulate","the","tensors","in","chunks",".","Args",":","chunk_configuration","(","Dict","[","int",",","Dict","]",")",":","the","configuration","dictionary","of","this","chunk","manager",".","init_device","(","torch.device",")",":","optional",",","the","device","on","which","the","chunk","is","initialized",".","The","default","is","None","."]
docstr: Get all chunks that can be moved.
docstr_tok: ["Get","all","chunks","that","can","be","moved","."]
code: def get_cuda_movable_chunks(self) -> List[Chunk]:
      """
      Get all chunks that can be moved.
      """
      chunk_list = []
      for chunk in self.accessed_chunks:
          if chunk.can_release:
              chunk_list.append(chunk)
      chunk_list.sort(key=lambda x: x.count_id)
      return chunk_list
  
imports: from collections import deque
  from typing import Deque, Dict, Iterable, List, Optional, Set, Tuple
  import torch
  import torch.distributed
  from torch.distributed import ProcessGroup
  from colossalai.utils import free_storage, get_current_device
  from .chunk import Chunk, ChunkFullError, TensorState
label_desc: Use image node_id 12 for calling the ChunkManager obj's underlying member method code with example usage: obj.get_cuda_movable_chunks() and returns: chunk_list