class_docstr: A customized communication operation which forward is an all gather operation,
  backward is split operation.
  
  Args:
      input_: input matrix.
      comm_spec: comm_spec will give information like process group, rank list, etc.
class_docstr_tok: ["A","customized","communication","operation","which","forward","is","an","all","gather","operation",",","backward","is","split","operation",".","Args",":","input_",":","input","matrix",".","comm_spec",":","comm_spec","will","give","information","like","process","group",",","rank","list",",","etc","."]
code: def symbolic(graph, input_):
      return _all_gather(input_)
  
imports: import operator
  from enum import Enum
  from functools import reduce
  import torch
  import torch.distributed
  from torch.distributed import ReduceOp
label_desc: Use image node_id 1 for calling the _GatherForwardSplitBackward obj's underlying member method code with example usage: obj.symbolic(graph, input_) and returns: _all_gather