code: def trace_strict_mode(mode, strict_mode_op, callable, operands):
      pre_dispatch = getattr(mode, "pre_dispatch", False)
  
      with disable_proxy_modes_tracing():
          graph = make_fx(callable, pre_dispatch=pre_dispatch)(
              *operands
          )
  
      next_name = None
      i = 0
      while not next_name:
          candidate = f"strict_graph_{i}"
          if hasattr(mode.tracer.root, candidate):
              i += 1
          else:
              next_name = candidate
  
      graph_name = next_name
      mode.tracer.root.register_module(graph_name, graph)
  
      args = (graph, operands)
  
      proxy_args = pytree.tree_map(mode.tracer.unwrap_proxy, args)
  
      out_proxy = mode.tracer.create_proxy(
          "call_function",
          strict_mode_op,
          proxy_args,
          {},
          name="strict_mode",
      )
  
      out = graph(*operands)
      return track_tensor_tree(
          out, out_proxy, constant=None, tracer=mode.tracer
      )
  
file_path: pytorch/torch/_higher_order_ops/strict_mode.py
imports: from contextlib import contextmanager
  import torch
  import torch._subclasses.functional_tensor
  import torch.utils._pytree
  from torch._C import DispatchKey
  from torch._functorch.utils import exposed_in
  from torch._higher_order_ops.utils import autograd_not_implemented
  from torch._ops import HigherOrderOperator
  from torch._subclasses.fake_tensor import FakeTensorMode
  from torch.fx.experimental.proxy_tensor import disable_proxy_modes_tracing, make_fx, ProxyTorchDispatchMode, track_tensor_tree
  from torch.utils._python_dispatch import _get_current_dispatch_mode
label_desc: Use image node_id 5 for calling a global function with example usage: trace_strict_mode(mode, strict_mode_op, callable, operands) and returns: track_tensor_tree