class_docstr: Similar to FusedDense, but we return both the output and the input.
  This is so that in the backward pass, we can combine the input gradient from the residual branch
  with the input gradient from the matrix multiply, without having to do a separate addition.
code: def forward(self, x):
      if x.is_cuda and self.bias is not None:
          return fused_dense_residual_function(
              x, self.weight, self.bias
          )
      else:
          return F.linear(x, self.weight, self.bias), x
  
imports: import numpy
  import torch
  import torch.nn
  import torch.nn.functional
  from torch.cuda.amp import custom_bwd, custom_fwd
  import fused_dense_lib
  from src.ops.gelu_activation import gelu_bwd
label_desc: Use image node_id 1 for calling the FusedDenseResidual obj's underlying member method code with example usage: obj.forward(x) and returns: fused_dense_residual_function, F,  x