code: def mlp_gemm_func(
      input,
      residual,
      input_bias,
      weight_interm,
      weight_out,
      bias,
      gamma,
      beta,
      epsilon,
      pre_layer_norm,
      mlp_after_attn,
      weight_interm_scale,
      weight_out_scale,
      q_int8,
      mlp_act_func_type,
      transposed_mode,
      use_triton_ln=True,
  ):
      assert not transposed_mode
  
      # residual add and layerNorm after attention
      if use_triton_ln:
          mlp_input = layer_norm_residual(
              input, input_bias, residual, gamma, beta, epsilon
          )
      else:
          global inference_module
          if inference_module is None:
              inference_module = InferenceBuilder().load()
          mlp_input = inference_module._layer_norm_residual(
              input, input_bias, residual, gamma, beta, epsilon
          )
  
      # activation
      if (
          deepspeed.utils.types.ActivationFuncType(mlp_act_func_type)
          == deepspeed.utils.types.ActivationFuncType.GELU
      ):
          activation = "gelu"
      elif (
          deepspeed.utils.types.ActivationFuncType(mlp_act_func_type)
          == deepspeed.utils.types.ActivationFuncType.ReLU
      ):
          activation = "relu"
      else:
          activation = ""
  
      # intermediate fc in FF
      intm_out = matmul_ext.matmul(
          mlp_input,
          weight_interm,
          bias=bias,
          activation=activation,
          use_triton=True,
      )
      # output fc in FF
      ff_out = matmul_ext.matmul(
          intm_out,
          weight_out,
          bias=None,
          activation="",  # bias added layer with residual_add + bias + layerNorm layer
          use_triton=True,
      )
  
      return ff_out, mlp_input
  
file_path: DeepSpeed/deepspeed/ops/transformer/inference/triton/ops.py
imports: import deepspeed
  from deepspeed.ops.op_builder import InferenceBuilder
  import deepspeed.ops.transformer.inference.triton.matmul_ext
  from deepspeed.ops.transformer.inference.triton.layer_norm import layer_norm, layer_norm_residual
label_desc: Use image node_id 4 for calling a global function with example usage: mlp_gemm_func(input, residual, input_bias, weight_interm, weight_out, bias, gamma, beta, epsilon, pre_layer_norm, mlp_after_attn, weight_interm_scale, weight_out_scale, q_int8, mlp_act_func_type, transposed_mode, use_triton_ln) and returns: ff_out,  mlp_input