code: def forward(
      self, *args: torch.Tensor, tag: str
  ) -> List[torch.Tensor]:
      if self.compiled is None:
          inductor_decompositions = select_decomp_table()
          # TODO: figure out why turning on cudagraphs cause exceptions.
          decomp_gm = make_fx(
              self.gm, decomposition_table=inductor_decompositions
          )(*args)
          logger.info("Lowering subgraph (%s) to Inductor...", tag)
          self.compiled = compile_fx_inner(
              decomp_gm,
              list(args),
              cudagraphs=False,
          )
          logger.info(
              "Completed lowering subgraph (%s) to Inductor", tag
          )
      with torch.profiler.record_function(tag):
          assert self.compiled is not None
          return self.compiled(list(args))
  
file_path: pytorch/torch/distributed/_spmd/partial_lower.py
imports: import logging
  import operator
  from typing import Callable, List, Optional, Set, Tuple
  from functorch import make_fx
  import torch
  from torch._inductor.compile_fx import compile_fx_inner
  from torch._inductor.decomposition import select_decomp_table
label_desc: Use image node_id 2 for calling the _InductorModule obj's underlying member method code with example usage: obj.forward() and returns: self