code: def test_csrmm(idtype, dtype, return_edge_ids):
      a, A = _random_simple_graph(
          idtype, dtype, F.ctx(), 500, 600, 9000, "A", "B", "AB"
      )
      b, B = _random_simple_graph(
          idtype, dtype, F.ctx(), 600, 700, 9000, "B", "C", "BC"
      )
      C, C_weights = dgl._sparse_ops._csrmm(
          A._graph, A.edata["w"], B._graph, B.edata["w"], 2
      )
      C_adj = C.adjacency_matrix_scipy(0, False, "csr", return_edge_ids)
      C_adj.data = F.asnumpy(C_weights)
      C_adj = F.tensor(C_adj.todense(), dtype=dtype)
      c = F.tensor((a * b).todense(), dtype=dtype)
      assert F.allclose(C_adj, c)
  
file_path: dgl/tests/python/common/test_sparse_ops-csr.py
imports: import backend
  import dgl
  import numpy
  import pytest
  import scipy.sparse
  from utils import parametrize_idtype
label_desc: Use image node_id 2 for calling a global function with example usage: test_csrmm(idtype, dtype, return_edge_ids) without return types