code: def _benchmark_autochunk_unet_origin(
      model: Any,
      data: tuple,
  ) -> None:
      # build model and input
      meta_args, concrete_args = data
      if concrete_args is None:
          concrete_args = {}
  
      # init inputs
      inputs = [i[1] for i in meta_args] + [i[1] for i in concrete_args]
      inputs = [
          i.cuda() if isinstance(i, torch.Tensor) else i for i in inputs
      ]
      model.cuda().eval()
  
      # bench
      para_mem = float(parameter_size(model)) / 1024**2
      act_mem = _benchmark_memory(model, inputs)
      speed = _benchmark_speed(model, inputs)
      print(
          "unet origin, time: %.4fs, act mem: %.2fMB, para mem: %.2fMB, all mem: %.2fMB"
          % (speed, act_mem, para_mem, act_mem + para_mem)
      )
      return act_mem
  
file_path: ColossalAI/tests/test_autochunk/test_autochunk_diffuser/benchmark_autochunk_diffuser.py
imports: import time
  from typing import Any
  import torch
  import torch.fx
  import colossalai
  from colossalai.autochunk.autochunk_codegen import AUTOCHUNK_AVAILABLE
  from colossalai.fx.graph_module import ColoGraphModule
  from colossalai.fx.passes.meta_info_prop import MetaInfoProp
  from colossalai.fx.profiler import parameter_size
  from colossalai.utils import free_port
label_desc: Use image node_id 2 for calling a global function with example usage: _benchmark_autochunk_unet_origin(model, data) and returns: act_mem