code: def __init__(self, fn) -> None:
      self.fn = fn
  
      def run(*args, **kwargs):
          grid = kwargs["grid"]
          kwargs = {
              k: v
              for k, v in kwargs.items()
              if k not in RESERVED_KWS + ["grid"]
          }
  
          return GridExecutor(self.fn, self.arg_names, grid)(
              *args, **kwargs
          )
  
      self.run = run
      signature = inspect.signature(fn)
      self.arg_names = [v.name for v in signature.parameters.values()]
  
imports: import inspect
  import numpy
  import triton
  import triton.language
  from .._C.libtriton import interpreter
label_desc: Use image node_id 2 to create a new InterpretedFunction object  with example: obj = InterpretedFunction(fn)