code: def libra2dgl_build_dict(
      a,
      b,
      indices,
      ldt_key,
      gdt_key,
      gdt_value,
      node_map,
      offset,
      nc,
      c,
      fsize,
      dataset,
  ):
      """
      This function invokes C/C++ code for pre-processing Libra output.
      After graph partitioning using Libra, during conversion from Libra output to DGL/DistGNN input,
      this function creates dictionaries to assign local node ids to the partitioned nodes
      and also to create a database of the split nodes.
      Parameter details are present in dgl/src/array/libra_partition.cc
      """
      ret = _CAPI_DGLLibra2dglBuildDict(
          to_dgl_nd_for_write(a),
          to_dgl_nd_for_write(b),
          to_dgl_nd_for_write(indices),
          to_dgl_nd_for_write(ldt_key),
          to_dgl_nd_for_write(gdt_key),
          to_dgl_nd_for_write(gdt_value),
          to_dgl_nd_for_write(node_map),
          to_dgl_nd_for_write(offset),
          nc,
          c,
          fsize,
          dataset,
      )
      return ret
  
imports: from __future__ import absolute_import
  from .None import backend, ndarray
  from ._ffi.function import _init_api
  from .base import DGLError
label_desc: Use image node_id 23 for calling a global function with example usage: libra2dgl_build_dict(a, b, indices, ldt_key, gdt_key, gdt_value, node_map, offset, nc, c, fsize, dataset) and returns: ret