code: def _get_tuneable_triton_func_name(
      f: Union[Autotuner, Heuristics, JITFunction]
  ) -> str:
      if isinstance(f, JITFunction):
          return f.__name__
      else:
          return _get_tuneable_triton_func_name(f.fn)
  
file_path: apex/apex/contrib/openfold_triton/__init__.py
imports: import pickle
  from collections import OrderedDict
  from copy import deepcopy
  from io import BytesIO
  from typing import BinaryIO, Union
  import torch
  from triton.runtime.autotuner import Autotuner, Heuristics
  from triton.runtime.jit import JITFunction
  from apex.contrib.openfold_triton._layer_norm_backward_kernels import _layer_norm_backward_dw_db_partial, _layer_norm_backward_dw_db_partial_strided, _layer_norm_backward_dx, _layer_norm_backward_dx_strided
  from apex.contrib.openfold_triton._layer_norm_forward_kernels import _layer_norm_forward, _layer_norm_forward_strided
  from apex.contrib.openfold_triton.layer_norm import LayerNormSmallShapeOptImpl
  from apex.contrib.openfold_triton.mha import AttnBiasJIT, AttnNoBiasJIT, AttnTri, CanSchTriMHA
label_desc: Use image node_id 1 for calling a global function with example usage: _get_tuneable_triton_func_name(f) and returns: f, _get_tuneable_triton_func_name