code: def test_launch_dropout_gelu_bias_i8I_i8O():
      batch_size, seq_len = kt.bs_sl()
      hidden_dim = kt.hidden_dim
      print("test shape:", (batch_size, seq_len, hidden_dim))
  
      # shared weights
      inp = kt.randint8((batch_size, seq_len, hidden_dim))
      bias = kt.rand((hidden_dim,))
      mask = kt.ones((batch_size, seq_len, hidden_dim)).to(torch.uint8)
      cmax_out = (kt.topk(inp) / 127).to(kt.dtype)
      cmax_in = (kt.topk(inp) / 127).to(kt.dtype)
  
      # custom weights
      custom_res = kt.randint8((batch_size, seq_len, hidden_dim))
      custom_cmask_out = kt.randuint8((batch_size, seq_len, hidden_dim))
  
      if kt.dtype == torch.float:
          cus_func = (
              cuda_module.torch_launch_ls_quant_dropout_gelu_bias_fp32
          )
      else:
          cus_func = (
              cuda_module.torch_launch_ls_quant_dropout_gelu_bias_fp16
          )
  
      def custom():
          custom_cmask_in = kt.ones(
              (batch_size, seq_len, hidden_dim)
          ).to(torch.uint8)
          cus_func(
              custom_res,
              custom_cmask_out,
              custom_cmask_in,
              custom_cmask_in,
              inp,
              bias,
              cmax_out,
              cmax_in,
              batch_size * seq_len,
              hidden_dim,
              0,
          )
  
          return [custom_res, custom_cmask_in]
  
      def baseline():
          inp_dq = kt.dequantize(inp, cmax_out)
          out_base = torch.nn.functional.gelu(inp_dq + bias)
          out_base = torch.nn.functional.dropout(out_base, p=0)
          out_base, cmask_in_base = kt.quantize(out_base, cmax_in)
          cmask_in_base |= mask
  
          return [out_base, cmask_in_base]
  
      return [custom, baseline]
  
imports: import random
  import torch
  from torch._C import ScriptModule, dtype
  from torch.nn import functional
  from lightseq.training.ops.pytorch.builder import KernelBuilder, AdamBuilder
  from tests.util import TestDecorator
  from torch_crf import CRF
label_desc: Use image node_id 23 for calling a global function with example usage: test_launch_dropout_gelu_bias_i8I_i8O() and returns: list, list, list