class_docstr: A hook to process sharded param for ZeRO method.
  Warning: this class has been deprecated after version 0.1.12
code: def pre_bwd_exec(self, module: torch.nn.Module, input, output):
      self.adjust_module_data(module)
      self.gather_parameters(module)
      for param in module.parameters(recurse=False):
          param.data = param.colo_attr.data_payload
          assert (
              param.data.device.type == "cuda"
          ), f"PRE BWD param.data must be on CUDA"
  
imports: from typing import Optional
  import torch
  import torch.distributed
  from colossalai.legacy.registry import OPHOOKS
  from colossalai.legacy.zero.gemini.ophooks import BaseOpHook
  from colossalai.legacy.zero.gemini.stateful_tensor import TensorState
  from colossalai.legacy.zero.gemini.stateful_tensor_mgr import StatefulTensorMgr
  from colossalai.legacy.zero.shard_utils import BaseShardStrategy
  from colossalai.logging import get_dist_logger
  from colossalai.utils import get_current_device
  from colossalai.zero.gemini.memory_tracer import MemStatsCollector
label_desc: Use image node_id 7 for calling the ZeroHook obj's underlying member method code with example usage: obj.pre_bwd_exec(module, input, output) without return types