code: def __init__(self, torch_pg: ProcessGroup):
      super().__init__(torch_pg)
  
      # init
      self.current_group_id = 0
      self._num_elements_in_bucket = 0
      # mapping gardient slices and parameter
      self.grad_to_param_mapping = dict()
  
      self._grad_in_bucket = dict()
      self._param_list = []
      self._padding_size = []
      for rank in range(self._world_size):
          self._grad_in_bucket[rank] = []
  
      # offset_list records number of tensors in the bucket before each reduction
      self.offset_list = [0]
  
file_path: ColossalAI/colossalai/zero/low_level/bookkeeping/bucket_store.py
imports: from typing import Dict
  import torch
  from torch import Tensor
  from torch._utils import _flatten_dense_tensors
  from torch.distributed import ProcessGroup
  from .base_store import BaseStore
label_desc: Use image node_id 1 to create a new BucketStore object from inherited base classes: BaseStore with example: obj = BucketStore(torch_pg)