class_docstr: This is a generic GPTQ runner that takes an existing model and applies GPTQ.
  It uses torch._dynamo.export to obtain a graph of the model and then hooks
  into function calls and when it detects a linear, it applies GPTQ to the weight
  given the calibration of inputs passed in at initialization. It puts the results
  into the state_dict so that the quantized model weights/qparams can be loaded
  directly into the model.
  
  This class is expected to work in concert with a GPTQSimpleQuantizer
  class to define the specific type of quantization being done.
code: def run(self):
      assert (
          self.get_qparams_func is not None
      ), "need to configure quantization mode before running"
      self.gptq_done = True
      super().run(*self.inputs)
  
imports: import os
  import sys
  import torch
  import main
  import torch.fx
  import torch.nn
  import torch.nn.functional
  from torch.utils._pytree import tree_flatten, tree_unflatten
  from eval import setup_cache_padded_seq_input_pos_max_seq_length_for_prefill
  from generate import encode_tokens
label_desc: Use image node_id 3 for calling the GenericGPTQRunner obj's underlying member method code with example usage: obj.run() without return types