class_docstr: Linear layer with column parallelism.
  The linear layer is defined as Y = XA + b. A is parallelized along
  its second dimension as A = [A_1, ..., A_p].
  Arguments:
      input_size: first dimension of matrix A.
      output_size: second dimension of matrix A.
      bias: If true, add bias
      init_method: method to initialize weights. Note that bias is always set
                   to zero.
      stride: For the strided linear layers.
      keep_master_weight_for_test: This was added for testing and should be
                                   set to False. It returns the master weights
                                   used for initialization.
      skip_bias_add: This was added to enable performance optimizations where bias
                     can be fused with other elementwise operations. we skip
                     adding bias but instead return it.
code: def __init__(
      self, input_size, output_size, bias=True, skip_bias_add=False
  ):
      super(_Linear, self).__init__()
  
      # Keep input parameters
      self.input_size = input_size
      self.output_size = output_size
      self.skip_bias_add = skip_bias_add
  
      self.weight = Parameter(
          torch.empty(
              self.output_size,
              self.input_size,
          )
      )
      nn.init.xavier_normal_(self.weight)
  
      if bias:
          self.bias = Parameter(torch.empty(self.output_size))
          # Always initialize bias to zero.
          with torch.no_grad():
              self.bias.zero_()
      else:
          self.register_parameter("bias", None)
  
imports: import math
  import torch
  import torch.nn
  import torch.nn.functional
  from torch.nn import Parameter
  from colossalai.kernel import FusedScaleMaskSoftmax
  from colossalai.kernel.cuda_native.scaled_softmax import AttnMaskType
  from colossalai.legacy.context import seed
  from colossalai.legacy.context.parallel_mode import ParallelMode
  from colossalai.legacy.core import global_context
  from colossalai.legacy.nn.layer.parallel_sequence._operation import RingAV, RingQK
  from colossalai.legacy.registry import LAYERS
label_desc: Use image node_id 1 to create a new _Linear object from inherited base classes: nn with example: obj = _Linear(input_size, output_size, bias, skip_bias_add)