docstr: Add a param to bucket and record the padding size of a param for gradient padding
  
  Args:
      group_id (int): The index of a parameter group
      param (Tensor): The parameter
      padding_size (int): The padding size of the parameter
docstr_tok: ["Add","a","param","to","bucket","and","record","the","padding","size","of","a","param","for","gradient","padding","Args",":","group_id","(","int",")",":","The","index","of","a","parameter","group","param","(","Tensor",")",":","The","parameter","padding_size","(","int",")",":","The","padding","size","of","the","parameter"]
code: def add_param_grad(
      self, group_id: int, param: Tensor, padding_size: int
  ):
      """Add a param to bucket and record the padding size of a param for gradient padding
  
      Args:
          group_id (int): The index of a parameter group
          param (Tensor): The parameter
          padding_size (int): The padding size of the parameter
      """
  
      self._param_list.append(param)
      self._padding_size.append(padding_size)
      self._num_elements_in_bucket += param.numel() + padding_size
      self.current_group_id = group_id
  
      # number of tensors in current bucket
      self.offset_list[-1] += 1
  
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 4 for calling the BucketStore obj's underlying member method code with example usage: obj.add_param_grad(group_id, param, padding_size) without return types