code: def _register_spmm_func():
      """Register spmm functions
  
      - Binary operation plus reduction between u and e: u_[]_e_[]
      - Copy u plus reduction: copy_u_[]
      - Copy e plus reduction: copy_e_[]
      """
      for binary_op in ["add", "sub", "mul", "div", "copy_u", "copy_e"]:
          for reduce_op in ["sum", "max", "min", "mean"]:
              if binary_op.startswith("copy"):
                  func = _gen_copy_reduce_func(binary_op, reduce_op)
              else:
                  func = _gen_spmm_func(binary_op, reduce_op)
              setattr(sys.modules[__name__], func.__name__, func)
              __all__.append(func.__name__)
  
file_path: dgl/python/dgl/ops/spmm.py
imports: import sys
  from ..None import backend
  from ..backend import gspmm, gspmm_hetero
label_desc: Use image node_id 6 for calling a global function with example usage: _register_spmm_func() without return types