code: def gsddmm(
      gidx, op, lhs_data, rhs_data, lhs_target="u", rhs_target="v"
  ):
      func = GSDDMM(gidx, op, lhs_target, rhs_target)
      ctx = to_backend_ctx(gidx.ctx)
      if lhs_data is None:
          lhs_data = nd.zeros((1,), ctx=ctx)
      if rhs_data is None:
          rhs_data = nd.zeros((1,), ctx=ctx)
      return func(lhs_data, rhs_data)
  
imports: import mxnet
  import numpy
  from mxnet import nd
  from ..._sparse_ops import _bwd_segment_cmp, _csrmask, _csrmm, _csrsum, _gsddmm, _gspmm, _scatter_add, _segment_reduce
  from ...base import ALL, dgl_warning, is_all
  from ...heterograph_index import create_unitgraph_from_csr
  from .tensor import asnumpy, context, copy_to, to_backend_ctx, zerocopy_from_numpy
label_desc: Use image node_id 9 for calling a global function with example usage: gsddmm(gidx, op, lhs_data, rhs_data, lhs_target, rhs_target) and returns: func