code: def __init__(self, config: DeepSpeedInferenceConfig):
      super(VectorMatMulOp, self).__init__(config)
      try:
          if self.config.dtype == torch.float16:
              if deepspeed.HAS_TRITON and config.use_triton:
                  from deepspeed.ops.transformer.inference.triton.ops import (
                      vector_matmul_func as _triton_vector_matmul_func,
                  )
  
                  self.vector_matmul_func = _triton_vector_matmul_func
                  triton_autotune = (
                      config.triton_autotune and config.layer_id == 0
                  )
                  if triton_autotune:
                      __class__._triton_autotune(
                          2,
                          self.config.max_out_tokens,
                          self.config.hidden_size,
                      )
              else:
                  self.vector_matmul_func = (
                      self.inference_module.vector_matmul_fp16
                  )
          elif self.config.dtype == torch.int8:
              self.vector_matmul_func = (
                  self.inference_module.vector_matmul_fp16
              )
          elif self.config.dtype == torch.bfloat16:
              self.vector_matmul_func = (
                  self.inference_module.vector_matmul_bf16
              )
          else:
              self.vector_matmul_func = (
                  self.inference_module.vector_matmul_fp32
              )
      except AttributeError:
          self.vector_matmul_func = self.vector_matmul_fallback
  
file_path: DeepSpeed/deepspeed/ops/transformer/inference/op_binding/vector_matmul.py
imports: import os
  import torch
  from ..config import DeepSpeedInferenceConfig
  from .base import BaseOp
  import deepspeed
label_desc: Use image node_id 1 to create a new VectorMatMulOp object from inherited base classes: BaseOp with example: obj = VectorMatMulOp(config)