code: def test_launch_dropout_gelu_bias_bwd():
      batch_size, seq_len = kt.bs_sl()
      hidden_dim = kt.hidden_dim * 4
      print("test shape:", (batch_size, seq_len, hidden_dim))
  
      test_input = kt.rand((batch_size, seq_len, hidden_dim))
      test_input.requires_grad_()
      test_bias = kt.rand((hidden_dim))
      test_bias.requires_grad_()
      test_out_grad = kt.rand((batch_size, seq_len, hidden_dim))
      test_in_grad_cus = kt.rand((batch_size, seq_len, hidden_dim))
      test_bias_grad_cus = kt.rand((hidden_dim))
      test_mask = torch.ones((batch_size, seq_len, hidden_dim)).to(
          dtype=torch.uint8,
          device="cuda:0",
      )
  
      if kt.dtype == torch.float:
          cus_func = (
              cuda_module.torch_launch_ls_dropout_gelu_bias_bwd_fp32
          )
      else:
          cus_func = (
              cuda_module.torch_launch_ls_dropout_gelu_bias_bwd_fp16
          )
  
      temp = torch.nn.functional.gelu(test_input + test_bias)
      base_out = torch.nn.functional.dropout(temp, p=0)
      base_out = base_out * test_out_grad
      base_out = base_out.sum()
  
      def custom():
          cus_func(
              test_in_grad_cus,
              test_bias_grad_cus,
              test_mask,
              test_input,
              test_bias,
              test_out_grad,
              batch_size * seq_len,
              hidden_dim,
              0,
          )
  
          return test_in_grad_cus, test_bias_grad_cus
  
      def baseline():
          if test_input.grad is not None:
              test_input.grad.zero_()
              test_bias.grad.zero_()
          base_out.backward(retain_graph=True)
  
          return [
              test_input.grad.contiguous().detach(),
              test_bias.grad.contiguous().detach(),
          ]
  
      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 20 for calling a global function with example usage: test_launch_dropout_gelu_bias_bwd() and returns: custom,  baseline, test_in_grad_cus,  test_bias_grad_cus, list