class_docstr: Split the input and keep only the corresponding chuck to the rank.
  
  Args:
      input_ (`torch.Tensor`): input matrix.
      dim (int): the dimension to perform split and gather
      process_group (`torch.distributed.ProcessGroup`): the process group used for collective communication
class_docstr_tok: ["Split","the","input","and","keep","only","the","corresponding","chuck","to","the","rank",".","Args",":","input_","(","`","torch.Tensor","`",")",":","input","matrix",".","dim","(","int",")",":","the","dimension","to","perform","split","and","gather","process_group","(","`","torch.distributed.ProcessGroup","`",")",":","the","process","group","used","for","collective","communication"]
code: def backward(ctx, grad_output):
      return (
          _gather(grad_output, ctx.dim, ctx.process_group),
          None,
          None,
      )
  
imports: import torch
  import torch.distributed
  import torch.nn.functional
label_desc: Use image node_id 2 for calling the _SplitForwardGatherBackward obj's underlying member method code with example usage: obj.backward(ctx, grad_output) and returns: _gather,  None,  None